合并一个文件夹内的所有视频
1 | find *.mp4 | sed 's:\ :\\\ :g'| sed 's/^/file /' > fl.txt |
视频压缩
1 | // 视频使用h.264编码,声音使用aac编码 |
crf越小,视频质量越高;crf越大,视频文件越小
编码参数也可以简写,从-vcodec
和-acodec
改为-c:v
和-c:a
:
1 | ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 |
其中AVC/H264
和HEVC/H265
都是软件编码,速度很慢。可以选择英伟达的硬件编码:hevc_nvenc与h264_nvenc,它们使用硬件加速,速度很快。
使用英伟达显卡进行编码:
1 | ffmpeg -i video.mp4 -c:v hevc_nvenc -crf 28 output.mp4 |
将视频从H.264转码到H.265,花了55分钟,视频体积从3.8GB减小到430MB,效果立竿见影。转码命令:ffmpeg -i 1.mp4 -c:v libx265 -vtag hvc1 -c:a copy 1_hevc.mp4
在win10可以用scoop安装ffmpeg,更新Windows上面通过scoop安装的所有程序scoop list | foreach { scoop update $_.Name }
。
将视频以同样的编码,按照指定时间进行裁剪
1 | ffmpeg -ss 00:05 -to 08:53.500 -i ./input.mp4 -c copy video.mp4 |
利用ffmpeg快速剪辑视频
1 | ffmpeg -ss 07:18 -to 13:45 -i ./aaa.mkv -c copy bbb.mkv |
- -ss表示开始时间
- -to表示结束时间
- -i是输入文档
- -c表示使用被剪辑视频一样的编码
- bbb是输出文档的名称
合并视频和声音,视频使用原始编码,声音改为aac编码
1 | ffmpeg -i 1.mp4 -i 1.opus -c:v copy -c:a aac output.mp4 |
将PNG格式图片转为JPG格式图片
1 | ffmpeg -i image.png -preset ultrafast image.jpg |