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

时间:2011-12-09 11:25:09

标签: streaming ffmpeg converter jplayer

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

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

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

任何人都可以告诉我需要指定哪些参数ffmpeg才能获得有效的m4v视频,例如带有兔子的视频吗?

3 个答案:

答案 0 :(得分:4)

尝试:

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

答案 1 :(得分:3)

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

在这些情况下,你可能需要做的就是让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文件。

答案 2 :(得分:2)

尝试:

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