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

8

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

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

使用此命令获取的视频无法在jplayer和甚至Totem Movie Player(在ubuntu上)中播放。但是,如果我尝试从jplayer网站中获取演示视频,一切都正常运行。
有人可以给我提示,我需要指定什么参数才能使用ffmpeg获取工作的m4v视频,就像有一只兔子的视频一样吗?
3个回答

7

尝试:

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

这不适用于DRM m4v格式。ffmpeg不支持DRM。 - Jake
抱歉,无法将m4v文件进行转换。但是可以尝试创建m4v文件。 - Jake

4
对于那些今天找到这个问题的人,是因为他们想播放m4v文件,但他们的软件播放器不允许他们这样做,他们需要将其转换为“真实”格式,而Google将他们引导到了这个问题:m4v文件不仅仅是带有DRM的mp4文件,还可以是一个没有任何播放元数据的纯视频流。当您使用某些数码相机、通过Adobe媒体编码器使用特定的h.264预设渲染视频以及其他类似的生成视频过程时,可能会出现这种情况。
在这些情况下,你只需要让ffmpeg添加播放元数据即可,方法是告诉它将文件转换为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文件格式是由苹果开发的视频容器格式,非常类似于MP4格式。主要区别在于,M4V文件可以选择性地受到DRM版权保护。https://zh.wikipedia.org/wiki/M4V - Jake
1
显然,整个评论线程和所有编辑都已经从这个答案中消失了,因此为了恢复所有内容,从评论开始:相当多的数码相机生成m4v文件,以及几个Adobe工具,属于纯视频流类型,所以如果您的情况是这样的话,那么这个解决方案将起作用。如果您有来自其他来源(比如 iTunes 文件夹)的 m4v,则可能会有所不同。 - Mike 'Pomax' Kamermans

1

尝试:

# 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 (命令行)


1
谢谢,但是这个例子生成的是 mp4,而不是 m4v - Silver Light
1
我曾认为没有DRM的mp4就是m4v,因此你可以使用mp4。http://en.wikipedia.org/wiki/M4V - piotrekkr
你可以用 Quicktime 打开 mp4 文件,并将其输出到 iPhone,以将其转换为 m4v。 - Jake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接