如何使用ffmpeg将m4v和wmv视频转换为mp4格式?

Bal*_*amy 8 linux ffmpeg

我在我的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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Mik*_*ans 21

对于那些今天仍然发现这个问题的人来说,因为他们试图播放m4v他们的硬件或软件生成的文件,但他们尝试的玩家都不会玩它们:m4v不仅仅是一个可玩的媒体容器,而且还用作纯粹的流格式由一些常用的工具和视频捕获设备组成,因此它可以用来将视频直接刻录到光盘上.当您使用Adobe的Creative Suite工具集进行视频制作时,尤其如此.

要将"无法播放"的m4v流(您的捕获设备/软件建议完全可以播放)转换为您习惯的视频文件类型,您只需要告诉ffmpeg将流复制到mp4容器中:

$> ffmpeg -i input.m4v -vcodec copy -acodec copy output.mp4
Run Code Online (Sandbox Code Playgroud)

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

$> ffmpeg -i input.m4v -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)

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

  • 经常如此,但也常常不如此。就像当您使用 Adob​​e Creative Suite 程序时,如果您需要编码为 h.264 的 60fps 视频素材(已更新以使其明确),该程序会生成 m4v (2认同)
  • 您可以使用`-c copy`(或`-codec copy`)代替`-vcodec copy -acodec copy`来稍微缩短命令。 (2认同)