【问题标题】:How to convert m4v and wmv videos to mp4 format using ffmpeg?如何使用 ffmpeg 将 m4v 和 wmv 视频转换为 mp4 格式?
【发布时间】:2012-02-20 09:19:16
【问题描述】:

我在我的 PHPMotion 项目中使用 ffmpeg 将视频转换为 mp4。我无法将 wmv 和 m4v 视频转换为 mp4 格式。我已经粘贴了我用来转换 wmv 和 m4v 的命令:

ffmpeg -i 1.wmv -ab 128 -b 1200 test.mp4
ffmpeg -i 1.m4v -ab 128 -b 1200 test.mp4

当我使用此代码时,我收到一条错误消息:

Output #0, mp4, to 'test.mp4':
    Stream #0.0: Video: mpeg4, yuv420p, 640x360, q=2-31, 1 kb/s, 90k tbn, 24 tbc
    Stream #0.1: Audio: 0x0000, 44100 Hz, stereo, s16, 0 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1

我该如何解决这个问题?

【问题讨论】:

  • ...通过安装缺少的编解码器? GSpot 可以帮助您确定执行此特定任务所需的内容。
  • 尝试将-acodec libfaac -ar 44100 -ac 2 -ab 48k 添加到您的命令字符串中。
  • 谢谢,我通过添加 -ar 44100 -b 300k -s 320x240 -vcodec mpeg4 得到了解决方案
  • ffmpeg -i inputfile.wmv -an -ar 44100 -b 300k -s 320x240 -vcodec mpeg4 output.mp4
  • ffmpeg -i inputfile.m4v -an -ar 44100 -b 300k -s 320x240 -vcodec mpeg4 output.mp4

标签: linux ffmpeg


【解决方案1】:

不支持的编解码器

您文件的音频流似乎以 ffmpeg 无法理解的格式编码。

向 ffmpeg 添加新编解码器是可能的,但似乎并不容易:请参阅 Adding new CODEC to ffmpeg

【讨论】:

  • 您能推荐任何 iphone 支持的 ffmpeg 命令来将 m4v 转换为 mp4 吗?
【解决方案2】:

对于那些今天仍然发现这个问题的人,因为他们正在尝试播放他们的硬件或软件生成的 m4v 文件,但他们尝试的播放器都不会播放它们:m4v 不仅仅是可播放的媒体容器,但也被许多常用工具和视频捕获设备用作纯流格式,因此可以将视频直接刻录到光盘。当您使用 Adob​​e 的 Creative Suite 工具集进行视频制作时,这种情况尤其可能发生。

要将“不可播放”m4v 流(您的捕获设备/软件建议应该完全可播放)转换为您习惯的视频文件类型,请告诉 ffmpeg 将流复制到 mp4 容器中:

$> ffmpeg -i input.m4v -vcodec copy -acodec copy output.mp4

或者,使用组合的 a/v 编解码器速记标志:

$> ffmpeg -i input.m4v -c copy output.mp4

没有发生实际的编码,所以这将只需要几秒钟,如果不是更少的话。木已成舟。

【讨论】:

  • 您的解决方案会起作用,但答案是错误的。 .m4v 只是 MP4 的 Apple variant 扩展以支持 DRM 和其他 Apple 特定数据流,如 mebx。通常,只需将扩展名更改为 MP4 即可。
  • 经常,但通常不是。就像您使用 Adob​​e Creative Suite 程序时一样,如果您需要编码为 h.264 的 60fps 视频片段(已更新以使其明确),它会生成 m4v
  • 这是 Adob​​e 的怪癖,与 M4V 的出处或结构无关。
  • 是的,这就是我现在编辑的内容。但请记住,数十万人使用的程序中的一个怪癖使其有效地工作,使其成为标准。不符合规范,但仍是标准。
  • 您可以使用-c copy(或-codec copy)而不是-vcodec copy -acodec copy来稍微缩短命令。
【解决方案3】:

当所有其他答案都没有转换我视频中的音频时,以下方法对我有用:

ffmpeg -y -i in.wmv out.mp4

来源:FFmpeg command list for video conversion

【讨论】:

  • 这里没有理由-y,所做的只是覆盖而不询问输出是否已经存在,因此您的命令所做的只是“使用默认的mp4设置运行ffmpeg”。太好了,它对您有用,但是当原始帖子向我们显示此推荐本身不起作用并引用编解码器错误时,这不是答案。
猜你喜欢
  • 2012-01-16
  • 2012-03-23
  • 2012-01-20
  • 1970-01-01
  • 2018-02-14
  • 2013-02-23
  • 2010-12-22
  • 2016-05-01
  • 1970-01-01
相关资源
最近更新 更多