dwing吧 关注:5,669贴子:89,041
  • 14回复贴,共1
欢迎各位在这里讨论一下这两种封装格式的优缺点
首先是我自己的看法, 这两种格式都是现在比较流行的开放格式
MP4主要用来封装MPEG1/2/4,H.264,MP3,AAC等比较有限的视频音频编码, 不过一般来说够用了, 只是貌似没法封装vp8,vorbis这些无专利的编码.
MKV支持的编码比MP4更广泛,甚至还支持封装real的编码.
二者都支持内嵌字幕,章节. MKV还可以封装其它文件.
设备支持上, MP4的支持度貌似比MKV广泛, 尤其是移动设备上, 另外在网络上flash支持MP4.
格式的专利问题尚不明确,貌似MKV是无专利的吧.
MP4主要的编辑工具是mp4box以及不太好用的yamb
MKV主要的编辑工具是mkvextract/mkvmerge/mkvinfo以及GUI的mmg
我个人考虑到各平台格式播放的支持度,暂时偏向MP4,不过mp4box这个工具熟悉起来比较有难度,没有MKV的mmg直观.


IP属地:北京1楼2011-12-27 14:20回复
    MP4的一些缺陷暂时还能接受, 比如字幕只支持idx/sub,srt我觉得一般够用了, 特效字幕还是编码到视频里比较好, 毕竟特效不一定在所有的设备上都能正常显示, 不同的播放器可能播放效果也不同.
    MP4的视频帧率问题还好, 如果用x264编码, 直接输出.mp4就可以了, 然后其它轨道都加在这个mp4上.


    IP属地:北京5楼2011-12-27 15:53
    回复
      目前无论是PC,移动设备,电视,网络, H.264和AAC的使用越来越广泛, 除了专利问题, 似乎找不到更有效率且成熟的编码了. 从这一点来看, MP4即使支持的编码少, 也没什么问题, 因为MP4天生就对AVC和AAC支持的很好, 更重要的是MP4在上述设备中都能很好地支持. 至于没有头和字幕压缩可以理解, 毕竟和视频数据相比只是零头, 虽然MP4的索引体积确实有点大了.
      不过, MP4的章节格式据说没有确定下来, 而且还有很多细节问题需要我做些测试才能确定MP4对多音频,多字幕,章节的支持情况.


      IP属地:北京7楼2011-12-27 17:11
      回复
        刚刚用mp4box给MP4添加了多音轨,多字幕,加章节, 然后在mplayer,potplayer,QQ影音这3个播放器里测试, 均可正常识别和切换.


        IP属地:北京9楼2011-12-27 18:02
        回复
          测试了一个典型的双语DVD视频编码封装, 包括1个h.264视频轨+2个aac音频轨+2个sub字幕轨+章节的封装, MKV体积是368M, MP4体积是372M
          分别使用ZIP最快压缩, MKV和MP4都是368M, MP4略小.


          IP属地:北京11楼2011-12-27 18:12
          回复
            ogg/ogm虽然是无专利而且开放, 但确实软肋是除了PC就没有多少设备支持, 比ogg音频支持率还低. 何况ogg封装的一般也是开放的编码,如vorbis,theora.


            IP属地:北京15楼2011-12-27 22:17
            回复
              幸好一般民间使用这些格式基本是无盈利目的的,一般情况不会遇到什么版权的麻烦,例如real也没能干涉国内的民间使用.


              IP属地:北京16楼2011-12-27 22:19
              回复
                貌似当前内挂字幕的封装格式几乎都是MKV, MP4内挂字幕的极少, 而且也怀疑厂商对MKV内挂字幕支持度会高一些.
                在移动设备上发现MKV的支持度远没有MP4高, 但MP4的双音轨和字幕的支持度也很低, 也就是说在移动设备上, 还是视频内嵌字幕和单音轨才能保证兼容性, 另外, 不用GPAC封装的MP4也有可能不被移动设备支持, 比如mencoder生成的mp4.
                对于平板电视的播放, 貌似MP4和MKV的支持也不是很全面, 最省心的办法还是用比较好的高清播放盒或电脑的HDMI视频输入.


                IP属地:北京17楼2011-12-28 12:46
                回复
                  找到mencoder生成的mp4兼容性的原因了, 是因为封装的时候只保存了DTS,而没保存CTS, 很多分离器依赖CTS.


                  IP属地:北京18楼2011-12-28 15:04
                  回复
                    可以转换成srt再封入. 不过MP4的字幕最好做成外挂的, 貌似MP4内挂字幕的支持度不如MKV的.


                    IP属地:北京20楼2011-12-29 21:40
                    回复
                      如果你只考虑用电脑播放,或者用电脑输出到其它设备,或者用兼容性很好的播放盒, 那么内挂,外挂,嵌入画面都没问题, 只是ssa要内挂MP4只能转换成srt.
                      一些总结如下:
                      电脑以外播放设备的字幕兼容性排列: 嵌入画面 > 外挂 = 内挂(MKV) > 内挂(MP4)
                      电脑以外播放设备的格式兼容性排列: MP4 > MKV
                      格式制作的容易程度排列: MKV > MP4
                      字幕格式的支持程度排列: MKV > MP4
                      格式的紧凑程度排列: MKV > MP4
                      视频音频的支持如果都考虑H.264+AAC的话, 没什么差别, 其它格式的比较意义就不大了.


                      IP属地:北京22楼2011-12-29 22:48
                      回复
                        嗯, 除此之外, 封装成MP4还有个好处, 就是用mmg无损转换成mkv封装很容易, 而从mkv无损转换成mp4就很麻烦.


                        IP属地:北京25楼2011-12-30 21:18
                        回复
                          命令行方便批处理和脚本调用, GUI可以避免很多命令参数的记忆负担, 各有优点.
                          从mkv无损转换成mp4的麻烦不在于命令行.


                          IP属地:北京28楼2011-12-31 10:36
                          回复
                            是MKVExtractGUI的bug, 直接用mmg来merge不好么, MKVExtract命令行也不难用


                            IP属地:北京43楼2012-01-07 10:50
                            回复
                              封装1个视频轨,2个音频轨,2个字幕,加章节的例子:
                              mp4box -add 1.mp4#video -add 2.m4a#audio:sbr:lang=en -add 3.m4a#audio:sbr:lang=zh -add 4.srt:lang=zh -add 5.srt:lang=en -chap chapters.txt -new new.mp4


                              IP属地:北京48楼2012-01-14 14:25
                              回复