ffmpeg 从 avi 文件生成无法播放的 MP4 文件
Posted
技术标签:
【中文标题】ffmpeg 从 avi 文件生成无法播放的 MP4 文件【英文标题】:ffmpeg Produces unplayable MP4 File From avi files 【发布时间】:2021-10-21 19:52:15 【问题描述】:手上有很多.avi
文件,我想将它们转换为.mp4
。将我在互联网上找到的所有内容拼凑在一起,我最终得到了这样的结果:
ffmpeg -i something.avi -c:v copy -c:a copy something.mp4
我得到的东西可以在 VLC 播放器上播放,但是,当然,它会播放我通过它播放的任何东西。但是,我无法使用 Finder 中的 QuickLook 或 QuickTime 播放器播放它。
在某些情况下,我会收到视频,但没有声音。在其他一些情况下,我会收到乱码视频。
我猜测.avi
文件中的音频或视频编解码器与MacOS不兼容,上面的copy
指令不合适。在那种情况下,我想我实际上需要重新编码音频或视频。
如果这听起来不连贯,我承认我对视频文件知之甚少。
尝试制作在 MacOS 上原生运行的 MP4 的最佳设置是什么?
【问题讨论】:
ottverse.com/ffmpeg-convert-avi-to-mp4-lossless 复制并粘贴 ffmpeg 日志中的所有文本。没有这些信息,我们无法提供答案。 【参考方案1】:“尝试制作在 MacOS 上原生运行的 MP4 的最佳设置是什么?”
检查此useful guide。 您可以尝试以下命令作为起点(音轨将/应该被自动检测和转换):
ffmpeg -i something.avi -c:v libx264 -crf 22 -pix_fmt yuv420p something.mp4
【讨论】:
对不起,我还没有回复这个。我还在测试它。我确实发现生成的文件大约是原始文件大小的 2/3。使用您提供的链接,我正在尝试这个:-crf 18
,它给我的尺寸与原始尺寸大致相同。这对你有意义吗?以上是关于ffmpeg 从 avi 文件生成无法播放的 MP4 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 php 中通过 ffmpeg 命令将 avi 文件转换为 mp4 文件
ffmpeg将avi转为flv之后质量变得非常差但是文件却的变得非常大了,这是为啥啊