请问有对视频编码封装比较了解的么?为什么两个差不多的 ...

来源:百度文库 编辑:超级军网 时间:2024/04/28 17:33:32
如题,首先标题里的“差不多”只是自己的片面认识,自己对这方面的知识也不是很清楚,所以有误还望指出。
最近在平板上看视频,发现个问题,两部同为mkv格式的720p电影,大小也都是4.37g。视频格式方面我用kmplayer查看的format里有两个format:
分别是1.Format : Matroska  Format version : Version 2(这个是封装格式么?)。2.Format : AVC    Format/Info : Advanced Video Codec(这个是编码格式么?)。
另外两部片的码率信息也基本一致,是:Overall bit rate : 5 674 Kbps和Overall bit rate : 5 721 Kbps。
另外音频也都是dts
在上述信息基本一致的情况下,一部片子播放的耗电量是1%电可以放8分钟,另一部则是1%电只能放不到4分钟(在播放器中的显示都是硬接)。请问这是什么原因呢?
如题,首先标题里的“差不多”只是自己的片面认识,自己对这方面的知识也不是很清楚,所以有误还望指出。
最近在平板上看视频,发现个问题,两部同为mkv格式的720p电影,大小也都是4.37g。视频格式方面我用kmplayer查看的format里有两个format:
分别是1.Format : Matroska  Format version : Version 2(这个是封装格式么?)。2.Format : AVC    Format/Info : Advanced Video Codec(这个是编码格式么?)。
另外两部片的码率信息也基本一致,是:Overall bit rate : 5 674 Kbps和Overall bit rate : 5 721 Kbps。
另外音频也都是dts
在上述信息基本一致的情况下,一部片子播放的耗电量是1%电可以放8分钟,另一部则是1%电只能放不到4分钟(在播放器中的显示都是硬接)。请问这是什么原因呢?


编码和封装不同,决定运算量的是前者。常见H.264编码(又叫AVC)分为多个不同的层级,常用的有mainprofile和Highlevel,后者的运算量要大一些。

另外不同的视频由于内容不同,编码时的峰值码率也不一样。有的视频因为运动场景多,编码和解码的消耗也更大。同一部电影,播放运动场景时的能耗就比静态场景的要高。

编码和封装不同,决定运算量的是前者。常见H.264编码(又叫AVC)分为多个不同的层级,常用的有mainprofile和Highlevel,后者的运算量要大一些。

另外不同的视频由于内容不同,编码时的峰值码率也不一样。有的视频因为运动场景多,编码和解码的消耗也更大。同一部电影,播放运动场景时的能耗就比静态场景的要高。
deam 发表于 2013-3-20 20:26
编码和封装不同,决定运算量的是前者。常见H.264编码(又叫AVC)分为多个不同的层级,常用的有mainprofile和 ...
封装都是mkv,编码都是x.264(avc),至于mainprofile和highlevel这种细分的信息我没注意,视频信息里能查到么?
至于峰值码率的问题,一部电影是《勇者行动》,另一部电影是《那些年。。。》,后一部的峰值码率怎么也不会比前面高吧?但是就是后一部的功耗要明显高于前者
deam 发表于 2013-3-20 20:26
编码和封装不同,决定运算量的是前者。常见H.264编码(又叫AVC)分为多个不同的层级,常用的有mainprofile和 ...
刚刚又看了下,Format profile : High@L4.1,这个信息是不是编码层级?两者都是一样的high@L4.1

top120 发表于 2013-3-20 20:39
刚刚又看了下,Format profile : ,这个信息是不是编码层级?两者都是一样的


那这个就比较奇怪了,理论上说后者耗电更低些才对。

为了进一步研究,你可以看看电脑上软解两部片子时的cpu占用率,或者看看放完整部片子的总耗电量。

另外测试的时候关闭屏幕,很可能是屏幕耗电的差异更大。
top120 发表于 2013-3-20 20:39
刚刚又看了下,Format profile : ,这个信息是不是编码层级?两者都是一样的


那这个就比较奇怪了,理论上说后者耗电更低些才对。

为了进一步研究,你可以看看电脑上软解两部片子时的cpu占用率,或者看看放完整部片子的总耗电量。

另外测试的时候关闭屏幕,很可能是屏幕耗电的差异更大。
deam 发表于 2013-3-20 20:45
那这个就比较奇怪了,理论上说后者耗电更低些才对。

为了进一步研究,你可以看看电脑上软解两部片子 ...
用的是平板。。。关屏幕的话目测就直接待机了。
另外两个视频倒是有个参数有明显的差异《那些年》:Format settings, ReFrames : 11 frames;
《勇者行动》:Format settings, ReFrames : 5 frames
不过不知道这个参数的具体含义
top120 发表于 2013-3-20 21:04
用的是平板。。。关屏幕的话目测就直接待机了。
另外两个视频倒是有个参数有明显的差异《那些年》:Form ...
把屏幕亮度调到最低测试。

我觉得不是编码的问题,是屏幕耗电的问题。
目前x264的encode版本比较多,同样参数编码出来的东西可能会有差别。有些视频制作者运用参数也不一定合理,造成兼容性问题,可能造成比较省电的硬解有使用障碍,或者解码时消耗更多计算资源。

还有片源本身的区别,使得编码时i帧、p帧、b帧的数量和之间关系也不太一样。i帧、p帧多数据量大可能io负担大些,b帧多可能算法上负担大些。

可能性太多,别纠结了。
kikashine 发表于 2013-3-20 21:58
目前x264的encode版本比较多,同样参数编码出来的东西可能会有差别。有些视频制作者运用参数也不一定合理, ...
并不是纠结电量的问题,只是发现这么个现象,很好奇,所以想知道为什么。
i帧,p帧,b帧是什么?能在视频信息里看到么?
kikashine 发表于 2013-3-20 21:58
目前x264的encode版本比较多,同样参数编码出来的东西可能会有差别。有些视频制作者运用参数也不一定合理, ...
根据你的提示,又找到了如下信息,似乎是encode有关,这里面确实有不太一样的地方,如果方便的话还请指点一二,谢谢!
《勇者行动》:Writing library : x264 core 124 r2197 69a0443
    Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=4167 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00

《那些年》:Writing library : x264 core 120 r2164 da19765
    Encoding settings : cabac=1 / ref=11 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=0 / bitrate=4210 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=50000 / vbv_bufsize=50000 / nal_hrd=none / ip_ratio=1.50 / pb_ratio=1.30 / aq=1:1.00
编码参数是有关系,此外还要看编码结果分析。况且可能还有平板自己的某些原因。

本人压片一律使用傻瓜模式,矣然黔驴技穷,爱莫能助了。