07 | 如何高效查找并使用FFmpeg常用参数?
FFmpeg 输入输出组成
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了如何高效查找并使用FFmpeg常用参数。作者通过介绍FFmpeg的输入输出组成和命令行参数分布,帮助读者了解FFmpeg的工作原理和常用参数的使用方法。文章强调了FFmpeg的输入可以是多个,输出也可以是多个,并且每一个输出都会根据输入的信息做一个参数复制。此外,作者还提到了如何指定编码以及如何进行只转封装不转码的操作,以节省CPU计算资源。通过本文,读者可以快速了解FFmpeg的参数组成和使用方法,从而更加高效地使用FFmpeg进行视频处理和转码操作。文章还介绍了如何查找各个模块参数的帮助信息,通过命令行参数的方式,读者可以快速过滤掉不需要的内容,只查看自己需要的模块信息。整体而言,本文为读者提供了一份简洁清晰的FFmpeg参数使用指南,帮助读者更好地理解和应用FFmpeg技术。
《快手 · 音视频技术入门课》,新⼈⾸单¥59
全部留言(7)
- 最新
- 精选
- keepgoing老师想请教一下,如果对于 -filter_complex 这种命令完全不了解其用法和作用,应该怎么通过ffmpeg -help相关的内容进行学习,感谢!
作者回复: filter_complex是一个更深入的内容了,可能看help可以看到滤镜的基本信息,详细的还是需要看官方的文档的,里面有更多的实例
2022-08-22归属地:北京21 - 西格玛老师的课程内容很饱满,就是部分命令不是太准确,苦了我们初学者,比如这篇里面的"视频操作部分"-vr:设置视频的帧率;应该是 "-r",我试了好久 “-vr”不可以的
作者回复: -r:v是可以的 最好别-r
2022-08-15归属地:北京 - Octo请教老师一个问题,我在用ffmpeg对mp4视频做分割后,发现很多视频播放软件无法打开分割后的视频文件,这一般是什么问题呢? 命令是: ffmpeg -i xxx.mp4 -vcodec copy -acodec copy -ss 5 -to 25 xxx_out.mp4
作者回复: -to改成-t 然后看看能不能播 你的-ss可能位置也不太好。也可以试试看ffmpeg能不能打开你切的文件
2022-08-15归属地:北京 - peter请教老师几个问题: Q1:“做解码后再编码”是解释谁的? 文中有这句话:“来进行只转封装不转码(做解码后再编码)的操作”,括号中的“做解码后再编码”是用来解释“转码”的吧。 刚开始看,以为是解释“只转封装不转码”的。 Q2: H.264查询结果矛盾问题。 命令:ffmpeg -encoders | grep H.264 输出: V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264) V....D h264_vaapi H.264/AVC (VAAPI) (codec h264) 命令输出结果说明有H,264 但是,用命令:ffmpeg -h encoder=libx264 输出:Codec 'libx264' is not recognized by FFmpeg. 为什么又说没有H.264? 不是矛盾吗? Q3:FFmpeg可以应用到Android、iOS上吗? Q4:源码目录下面没有make文件但能执行,为什么? 从官网上下载5.1源码,解压后生成ffmpeg目录,先再此目录下面执行:./configure, “ls –al | grep make”没有make这个文件。 输入“make”,刚开始不能执行,提示没有此文件,后来又试了几次,突然就能执行了。 请问:没有make文件,怎么就能执行了? Q5:添加meta参数信息的命令,输入文件是什么? ffmpeg -f lavfi -i testsrc=s=176x144 -metadata title="This Is A Test" -t 2 out.mp4, 这个命令中,源文件是什么? 没有源文件的话,生成的out.mp4没有实际内容吧。
作者回复: 1. 是解释不转码的,有的人不理解转码,所以括号描述一下转码的基础步骤 2. 并不矛盾,仔细看输出参数,因为里面已经有编码器了,但是不是libx264而已,是h264_v4l2m2m,你用的libx264并未被列在列表里面 3. Android可以命令行和API,iOS应该是需要API,可以移步极客时间的快手回森技术负责人展晓凯移动端开发,如果还有更多方向的兴趣的话,看大伙的反响,学习效果符合各team预期的话,有可能会推出一系列的后续课程 4. 最好还是下载git库里面的master分支,能执行 make的话需要有Makefile才可以,没有的话不能执行,这个可能是你需要自己好好确认一下了,一定要注意输出信息,ffmpeg编译工程的输出信息都是很有用的,精雕细琢的,并不是没事输出的垃圾信息 5. 参考前面的课程,有讲过-f lavfi是用lavfi来输出ffmpeg自己生成的内容,比如帧数,时间信息等
2022-08-08归属地:北京 - geek貌似本节的小结思维导图,串台了。
编辑回复: 谢谢提醒,已经修改啦🌹
2022-08-08归属地:北京 - jcy尝试回答一下思考题: 1. 先用 ffprobe -show_format test.mkv 查看视频文件的 duration,假设这里的 duration 是 22.47 2. 用如下命令生成新的视频文件 out.mkv,其在原来 test.mkv 视频文件上会叠加一个 logo,播放时,按照视频进度比例从左下角向右下角移动 ffmpeg -re -i test.mkv -vf "movie=logo.PNG[test];[in][test]overlay=x='if(gte(t,0), t*(W-w)/20.47, NAN)':y=H-h [out]" out.mkv2022-08-23归属地:北京12
- ifelse学习打卡2023-12-25归属地:浙江