关于视频号卡时长问题汇总,有兴趣的可以一起研究下。

分享一下研究成果。

1.视频的进度条取值,即Videoplaylen,为视频的mvhd box中的duration
2.视频的duration取值,为视频tkhd box中的mdhd box 中的duration
3.至于tkhd中的duration取值,反复修改测试后,未发现明显用途。
位置在mp4结构中如下图所示,软件为MP4info
在这里插入图片描述
实测结论,
1.当mvhd box中的duration修改成远大于实际的值的时候,替换后进度条为视频的真实值。
2.当mdhd中的duration修改值与Videoplaylen值不一致时,上传作品优先取mdhd中的值,也就是数据包中的duration。

实测结果。
1.短替换长,回调(30分钟后)。
2.长替换短,不回调(30分钟后),完播率很高,但是好像没什么用。
如图所示,视频真实时长为27s
在这里插入图片描述
结论如下,
1,当Videoplaylen值小于真实值时,即修改mvhd中的duration,稳不能通过效验,即使duration在首次上传时为修改值。
2,当Videoplaylen值大于真实值时,过审核,不回调说明数据过审进到服务器里了。
所以效验不用多说肯定是个if else ,在上传的视频中取一个判定条件,即真实duration<判定条件,则判定条件覆盖取值,即回调,当判定条件>duration时,直接审核通过。
当修改mdhd box中的duration值后,将视频拽入剪映,显示的为修改的值,如下图所示,真实时长为27s
在这里插入图片描述
替换掉发出,回调。据观察,这个过程有可能是动态的。

修改mvhd中的duration如图所示,在mvhd中偏移量为5组,其他为4组
即图中的00006BC2换算成十进制为24306,即24306毫秒,24秒。
在这里插入图片描述
修改完视频所有底层duration值,包括mvhd,mdhd,tkhd中的duration,上传作品后,草稿的数据包Videoplaylen,和duration是以取的视频mdhd的duration值,但是实际的进度条,即预览,或者发出之后,进度条的取值为视频mvhd中的duration,即使草稿数据包中的Videoplaylen不一样。

猜测:从视频中取值的判定条件应该是动态的,观察到网页端进度条有变化,可能最初上传的时候以数据包为基准,随着播放加载,动态的改变进度条,来不断矫正判定条件,(mdhd中duration=2,拽到剪映就是两秒,视频号播放器为了兼容不停止读流),这也从侧面印证了这个问题,所以说在不能完全摸清动态判定条件的前提下,让他在优化的这个过程中不能流畅播放,应该是个不错的路子,但是大前提是不能损坏视频文件,要么直接就违规。。甚至现在连改成10k分辨率也会提示删作品了。
在这里插入图片描述
多出几次号就无了。。。。

累了。。。。毁灭吧,打不打品的到无所谓,有兴趣的,可以联系我一起研究一下。
我是真非常好奇它到底是咋判定的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值