如何使用`ffmpeg`将视频转换为`m4v`?

Posted

技术标签:

【中文标题】如何使用`ffmpeg`将视频转换为`m4v`?【英文标题】:How to convert video to `m4v` with `ffmpeg`? 【发布时间】:2012-01-16 16:52:45 【问题描述】:

我正在尝试将视频编码为m4v,因此我可以在我的网站上使用jplayer 播放它,但是在为ffmpeg 指定正确参数时遇到了麻烦。这是我使用的命令:

ffmpeg -i 1.avi -vcodec mpeg4 -f m4v -qmax 8 1.m4v 2>&1

我使用此命令获得的视频无法在 jplayer 甚至 Totem 电影播放器​​(在 ubuntu 上)中播放。但如果我尝试demo video from jplayer website evrything 工作正常。

谁能告诉我我需要为ffmpeg 指定哪些参数才能获得一个有效的m4v 视频,比如带兔子的视频?

【问题讨论】:

【参考方案1】:

试试:

tools/ffmpeg/./ffmpeg -i debug/assets/videos/sample_iPod.mp4 -vcodec libx264 debug/assets/videos/sample_iPod.m4v

【讨论】:

这不适用于 DRM m4v 格式。 ffmpeg 不支持 DRM。 对不起。从 m4v 转换它不起作用。它可能适用于创建 m4v。【参考方案2】:

对于那些今天仍然发现这个问题的人,因为他们正在尝试播放m4v,他们的软件播放器不会让他们这样做,他们需要将其转换为“真实”格式并且Google 向他们发送了这个问题:m4v 不仅仅是“mp4 with DRM”,还可以是没有任何播放元数据的纯视频流。当您使用某些数码相机、使用某些 h.264 预设和其他类似的视频生成过程通过 Adob​​e 的媒体编码器渲染视频时,可能会出现这种情况。

在这些情况下,您可能需要做的就是让 ffmpeg 在 tope 上添加播放元数据,它会告诉它转换为 mp4,将您的纯流转换为可播放的媒体资源。

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

或者你可以使用简短(但我觉得更难记住)的形式:

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

完成,您现在应该有一个可以完美播放的 mp4 文件了。

【讨论】:

这创建了一个似乎可以播放但没有视频或音频的文件。 M4V 文件格式是 Apple 开发的一种视频容器格式,与 MP4 格式非常相似。主要区别在于 M4V 文件可以选择受 DRM 复制保护。 en.wikipedia.org/wiki/M4V 显然整个评论线程和所有编辑都已经脱离了这个答案,所以要恢复从 cmets 开始的所有内容:相当多的数码相机生成 m4v 文件,以及几个 adobe 工具,类型是纯视频流,因此如果这听起来像您的情况,那么此解决方案将起作用。如果您有来自不同来源的 m4v(例如,iTunes 文件夹),那么您的里程可能会有所不同。【参考方案3】:

试试:

# extract and encode audio
ffmpeg -i film.avi -vn temp_audio.mp3
faac -w -b 128 temp_audio.mp3 temp_audio.aac
# extract and encode video
ffmpeg -i input.avi -an -b 400 -vcodec mpeg4 temp_video.m4v
# mux into mp4
mp4creator -c temp_video.m4v -hint -r 30 output.mp4
mp4creator -c temp_audio.aac -hint -interleave output.mp4
rm temp_audio.mp3 temp_audio.aac temp_video.m4v

在这里找到:

http://discerning.com/topics/audiovideo/video_encoding.html 章节ffmpeg(命令行)

【讨论】:

谢谢,但这个例子产生mp4,而不是m4v 我认为 mp4 是没有 DRM 的 m4v en.wikipedia.org/wiki/M4V 所以你可以使用 mp4 您可以在 Quicktime 中打开 mp4 并输出到 iphone 以将其转换为 m4v。

以上是关于如何使用`ffmpeg`将视频转换为`m4v`?的主要内容,如果未能解决你的问题,请参考以下文章

safari 不会播放转换为 mp4 或 m4v 的 gif

如何播放html5视频?当文件是file.m4v?

给微信群里上传超长视频(方法:转成m4v文件)

你的这个问题解决了吗 ffmpeg的问题

如何用格式工厂把视频转化为一张一张的图片

如何使用 ffmpeg 设置默认流