mov 和 mp4 容器是否可以互换?
Is there any case for a mov and mp4 containers be interchangeable?
这个问题可能很愚蠢,
但是我得到了以下情况。
我有一堆来自一些客户的 MOV 视频文件,我打算将它们转换为 MP4 以便能够 运行 在浏览器上播放。
但是,当我试图在浏览器上打开它时,它在 Firefox 和 Chrome.
中都运行良好
当我在其中一个文件上 运行 ffmpeg 时,我得到以下信息:
ffmpeg -i MyVideo.mov -hide_banner
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MyVideo.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2011-06-27 19:53:07
Duration: 00:10:10.96, start: 0.000000, bitrate: 10234 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 10103 kb/s, 25 fps, 25 tbr, 2500 tbn, 5k tbc (default)
Metadata:
creation_time : 2011-06-27 19:53:07
handler_name : Apple Alias Data Handler
encoder : H.264
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)
Metadata:
creation_time : 2011-06-27 19:53:07
handler_name : Apple Alias Data Handler
当 运行ning ffprobe 检查容器时,我得到一堆输出:
[FORMAT]
format_name=mov,mp4,m4a,3gp,3g2,mj2
[/FORMAT]
这到底是什么意思?所有这些容器都可以互换吗?
如果不是,为什么浏览器能够读取这个文件?
火狐版本:59.0.2
Chrome 版本 65.0.3325.181
MP4 容器是一种 ISO 格式,源自 Quicktime 格式。 FFmpeg 有一个模块(解复用器)来解析您粘贴的 format_name 字符串中提到的所有扩展。为了安全起见,建议将 MOV 重新混合为 MP4,因为您不应该依赖于浏览器的松懈。
ffmpeg -i in.mov -c copy -movflags +faststart out.mp4
执行此操作还将帮助您验证是否所有流在 MP4 中都是可接受的,例如LPCM 音频流在 MOV 中可接受,但在 MP4 中不可接受。
这个问题可能很愚蠢, 但是我得到了以下情况。
我有一堆来自一些客户的 MOV 视频文件,我打算将它们转换为 MP4 以便能够 运行 在浏览器上播放。 但是,当我试图在浏览器上打开它时,它在 Firefox 和 Chrome.
中都运行良好当我在其中一个文件上 运行 ffmpeg 时,我得到以下信息:
ffmpeg -i MyVideo.mov -hide_banner
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MyVideo.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2011-06-27 19:53:07
Duration: 00:10:10.96, start: 0.000000, bitrate: 10234 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 10103 kb/s, 25 fps, 25 tbr, 2500 tbn, 5k tbc (default)
Metadata:
creation_time : 2011-06-27 19:53:07
handler_name : Apple Alias Data Handler
encoder : H.264
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)
Metadata:
creation_time : 2011-06-27 19:53:07
handler_name : Apple Alias Data Handler
当 运行ning ffprobe 检查容器时,我得到一堆输出:
[FORMAT]
format_name=mov,mp4,m4a,3gp,3g2,mj2
[/FORMAT]
这到底是什么意思?所有这些容器都可以互换吗? 如果不是,为什么浏览器能够读取这个文件?
火狐版本:59.0.2 Chrome 版本 65.0.3325.181
MP4 容器是一种 ISO 格式,源自 Quicktime 格式。 FFmpeg 有一个模块(解复用器)来解析您粘贴的 format_name 字符串中提到的所有扩展。为了安全起见,建议将 MOV 重新混合为 MP4,因为您不应该依赖于浏览器的松懈。
ffmpeg -i in.mov -c copy -movflags +faststart out.mp4
执行此操作还将帮助您验证是否所有流在 MP4 中都是可接受的,例如LPCM 音频流在 MOV 中可接受,但在 MP4 中不可接受。