http://my.oschina.net/alphajay/blog/4276
1) 什么是MP4?听闻它是一种“容器格式”,那是什么?
容器格式允许你将不同种类的多媒体数据流(多为视频流和音频流)合并在一个单一的文件内。
多媒体容器格式,就是我们熟知的AVI(.avi), MPEG(.mpg, .mpeg), Matroska(.mkv, .mka), OGM(.ogm), Quicktime(.mov),或Realmedia(.rm, .rmvb).
MP4是遵循MPEG-4(ISO 14496-14)的官方容器格式定义的广义文件扩展名。它可以流媒体化并支持众多多媒体的内容(多音轨(multiple audio)、视频流(video)、字幕(subtitlestreams)、图片(pictures)、可变桢率(variable-framerates)、码率(bitrates)、采样率(samplerates)等)和高级内容(advanced content)(官方称之为“Richmedia”(超媒体)或“BIFS”(Binary Format for Scenes/二进制格式场景),类似2D和3D图形,动画、用户界面、类DVD菜单,上述这些AVI搞不定的东西。
2) MP4文件的扩展名用什么?
-.mp4:唯一的官方扩展名,支持所有音频和视频以及高级内容(或它们的混合)
其他相关的扩展名:
- .m4v:是.mp4文件的错误扩展名,由apple提出,支持视频+音频,m4v扩展名可以安全地更名为.mp4
- .m4a:是.mp4文件的错误扩展名,由apple提出,只支持音频,m4a扩展名可以安全地更名为.mp4
- .m4p:随iTunes发售的DRM(Digital Rights Management/数字版权保护技术)产权保护的文件,使用Apple开发的DRM sheme
- .m4e:由.sdp修改扩展名的来的文件,Envivio用其于流媒体播放。
- .m4v, -.mp4v, -.cmp, -.divx, .-xvid, .264:raw的mpeg-4视频流(并非内含于mp4)。
- .3gp, -.3g2:手机中使用的格式,其中储存的内容同样在.mp4未被定义(H.263, AMR(Adaptive Multi Rate/自适应多码率))。
3) 如何创建标准的MP4文件?
简单的回答:参考doom9的MP4指南或NERO Recode2指南。
详细解答:
1) 为了制作MP4文件,你应该优先使用MPEG-4标准下的音频/视频格式:
- MP4视频格式包括:MPEG-4 SP(Simple Profile/简单类)/ASP(Advanced Simple Profile/高级简单类):xvid, divx5, 3ivx,ffmpeg/ffdshow, NeroDigital ASP...及MPEG-4 AVC/H.264:x264, NeroDigital AVC, Apple...还有MPEG-2, MPEG-1(不含Divx3/M$ MPEG4, WM9, RV9或VP6).-doom9的质量比较测评:1 2
- MP4音频格式包括:Advanced Audio Coding(AAC FAQ):Quicktime/iTunes, Nero, Psytel, FAAC(binary)...(rjamorim的质量比较测评:1 2)和mp3, mp2, mp1, celp(语音), TwinVQ(非常低的码率), SAOL(midi), ALS(无损)
- MP4字幕/文本格式:MPEG-4时标文本(见Q7)
- MP4图片格式:JPEG, PNG
2) 使用下列的软件可以将遵循MPEG-4的内容Mux进MP4容器:
- GPAC的MP4box,命令行界面,支持AVC(Advanced Video Coding/进阶视频编码),packed B-frames(打包B桢),高级内容/BIFS,TTXT和章节(Doom9指南)
- MPEG4IP的mp4creator,命令行界面,能够混合AVC,但不要用于AVI及(packed) B-frames!
- 3ivx mp4 muxer,dshow滤镜,可以在GraphEdit中使用,支持使用packed B-frames的avi,但不支持AVC(3ivx 指南)
- mp4UI,操作简单,软件基于MPEG4IP,不支持AVC,AVI及(packed) B-frames!(doom9指南)
- VideoLAN Client,支持AVC,不能用于packed B-frames
-