wordpress群晖,广州网站优化多少钱,交易网站建设,石家庄网站建设工作室是的#xff0c;你不需要格式工厂#xff0c;你也不需要会声会影#xff0c;更不需要爱剪辑这些莫名其妙的流氓软件#xff0c;命令行下视频处理#xff0c;包括剪辑#xff0c;转码#xff0c;提取#xff0c;合成#xff0c;缩放#xff0c;字幕#xff0c;特效等…是的你不需要格式工厂你也不需要会声会影更不需要爱剪辑这些莫名其妙的流氓软件命令行下视频处理包括剪辑转码提取合成缩放字幕特效等等全部命令行搞定这不是疯狂而是效率
MP4 转换 GIF
很多社区可以发 MP4但对桌面录屏这种十多二十秒的小短片远远没有 GIF 来的便捷GIF 在很多软件里支持的也比 MP4 要广泛转换命令为
ffmpeg -i in.mp4 -an -c:v gif out.gif参数 -i 的指明输入文件 “in.mp4” -an 代表禁用音频-c:v 的意思是指定视频编码为 gif最后是输出文件名。
那么效率在哪里呢 别急我们写完善点做个脚本video_convert_to_gif.cmd
echo off
if %1 goto HELPset IN%1
set OUT%~dpn1.gifif %2 goto NEXT
set OUT%2
:NEXTcall ffmpeg -i %IN% -an -c:v gif %OUT%
pause
goto END:HELP
echo usage: video_convert_to_gif ^input^ [^output^]
:END
echo.将上面的脚本完善一下保存成名为 video_convert_to_gif.cmd 的脚本 每次要使用的时候直接把任何格式的视频文件拖到这个脚本上面去同级目录下就有了一个 gif 文件了比你格式工厂修改一半天点点点来的高效多了。
转换为 MP4
最简单写法
ffmpeg -i in.wmv -c:v libx264 -c:a aac out.mp4前面输入可以是任意格式的视频文件用 -c:v 指定视频编码器是 libx264用 c:a 指定音频编码器是 aac然后输出 mp4考虑到某些安卓机可能无法正确播放完善下
ffmpeg -i in.wmv -c:v libx264 -c:a aac -pix_fmt yuv420p -vf ^scaletrunc(iw/2)*2:trunc(ih/2)*2 out.mp4在 Windows 的 Bat 文件里^ 符号代表换行继续这里针对部分安卓机只能播放 yuv420 的像素格式的问题做了一些处理并且把长宽设置为偶数否则无法使用 yuv420 格式完善一下写成脚本
echo off
if %1 goto HELPset IN%1
set OUT%~dpn1.mp4if %2 goto NEXT
set OUT%2
:NEXTcall ffmpeg -i %IN% -c:v libx264 -c:a aac ^-pix_fmt yuv420p -vf scaletrunc(iw/2)*2:trunc(ih/2)*2 ^%OUT%
pause
goto END:HELP
echo usage: video_convert_to_mp4 ^input^ [^output^]
:END
echo.保存成 video_convert_to_mp4.cmd 用法和上面相同也是鼠标拖上去就行了。
转换 H.265
和转换 264 类似
ffmpeg -i in.mp4 -c:v libx265 -c:a aac ^-pix_fmt yuv420p -vf scaletrunc(iw/2)*2:trunc(ih/2)*2 ^out.x265.mp4脚本文件可以照葫芦画瓢头两行最后用了 ^ 符号代表命令在下一行继续。
GIF 转换 MP4
上面有了 MP4 到 GIF反过来的话需要做一些处理添加一段空白音频不然有些软件或者网站可能出问题
ffmpeg -f lavfi -i anullsrc -i in.gif -c:v libx264 -c:a aac -shortest ^-pix_fmt yuv420p -vf scaletrunc(iw/2)*2:trunc(ih/2)*2 out.mp4这里用了 anullsrc 代表空的音频输入同时加了一个 -shortest 代表多个输入取时间最短的那个一样照葫芦画瓢做一个脚本文件封装一下即可。
MP4 分离音频
将 MP4 的音频分离出来保存成 mp3 也是比较常见的用法
echo off
if %1 goto HELPset IN%1
set OUT%~dpn1.mp3if %2 goto NEXT
set OUT%2
:NEXTcall ffmpeg -i %IN% -vn -c:a mp3 -ar 48000 -ac 2 %OUT%pausegoto END
:HELP
echo usage: video_extract_audio ^input^ [^output^]
:END
echo.保存成 video_extract_audio.cmd 把文件拖上去即可转换。
这里 -vn 的意思是禁用视频-c:a 指定编码为 mp3-ar 的意思是指定音频采样率为 48000同时 -ac 的意思是声道数量。
视频裁剪
直接上脚本
echo off
if %3 goto HELP
set IN%1
set OUT%~dpn1_clip%~x1if %4 goto NEXT
set OUT%4
:NEXTcall ffmpeg -i %IN% -ss %2 -to %3 -c:a copy -c:v copy %OUT%
pause
goto END:HELP
echo usage: video_clip ^input^ ^from ^(00:00:00.000^)^ ^to ^(00:10:00.000^)^ [^output^]
:END
echo.指定输入文件然后从几分几秒到积分几秒即可
video_clip in.mp4 00:00:00 00:00:10 out.mp4即可剪辑头 10 秒钟的视频保存成 out.mp4
视频合并
将两段视频合并成一段
echo off
if %2 goto HELPset IN1%1
set IN2%2
set OUT%~dpn1_%~dpn2_merged.%~x1if %3 goto NEXT
set OUT%3
:NEXTcall ffmpeg -i %IN1% -i %IN2% ^-filter_complex [0:v][0:a][1:v][1:a]concatn2:v1:a1[outv][outa] ^-map [outv] -map [outa] %OUT%
pausegoto END
:HELP
echo usage: video_concat ^input1^ ^input2^ [^output^]
:END
echo.区域裁剪
将视频里的一个矩形截取出来保存成一个新的视频
echo off
if %5 goto HELPset IN%1
set OUT%~dpn1_crop%~x1if %6 goto NEXT
set OUT%6
:NEXTcall ffmpeg -i %IN% -filter:v crop%4:%5:%2:%3 %OUT%
pausegoto END
:HELP
echo usage: video_crop ^input^ ^x^ ^y^ ^w^ ^h^ [^output^]
:END
echo.这样输入源视频和矩形区域坐标和长宽即可裁剪。
更多用法
欢迎使用 ffmpeg 命令速查表
FFMPEG 命令速查表
附赠我自己写好的一堆脚本 地址
github.com/skywind3000/vim
–