首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

请问从ts中抽取video PES的有关问题

2012-02-16 
请教从ts中抽取video PES的问题我要做TS转PS,从ts中抽取PES的时候因为pes packet length0故只能看下一个

请教从ts中抽取video PES的问题
我要做TS转PS,从ts中抽取PES的时候因为pes packet length==0故只能看下一个188的ts包里面pay_load_unit_start_indicator是否==1,
这样来判断是否是新的PES packet,不知这样判断对不对?
因为这样检查出来的PES packet远大于2048,我看资料上说一般间隔2k就有一个PES header。
如果pay_load_unit_start_indicator不是1的话后面的数据中虽有00 00 01,但接下来的stream id和pes length不对,故我认为是pes packet的数据,
而不是包头。
请各位看看,我的理解和做法有无问题。
因为这样抽取出来的PES转成PS后,纯audio可以播放;纯video或者AV的话则会黑屏。

[解决办法]
13818-1

payload_unit_start_indicator
When the payload of the Transport Stream packet contains PES packet data, the payload_unit_start_indicator has the
following significance: a '1' indicates that the payload of this Transport Stream packet will commence with the first byte
of a PES packet and a '0' indicates no PES packet shall start in this Transport Stream packet. If the
payload_unit_start_indicator is set to '1', then one and only one PES packet starts in this Transport Stream packet.
看意思应该是有效负载将以PES的第一个字节开始


For Transport Stream packets carrying PES packets, stuffing is needed when there is insufficient PES packet data
to completely fill the Transport Stream packet payload bytes. Stuffing is accomplished by defining an adaptation field
longer than the sum of the lengths of the data elements in it, so that the payload bytes remaining after the adaptation field
exactly accommodates the available PES packet data. The extra space in the adaptation field is filled with stuffing bytes.
This is the only method of stuffing allowed for Transport Stream packets carrying PES packets.

按这里的意思如果PES包结束但长度不够188时,需要在adaptation field 加入填充字节。这也是TS流carrying PES 唯一的填充方法



综上,"看下一个188的ts包里面pay_load_unit_start_indicator是否==1,这样来判断是否是新的PES packet" 应该是正确的

[解决办法]
http://topic.csdn.net/t/20060307/11/4597699.html

看看这里的讨论
[解决办法]

探讨
谢谢3楼的回复,我用你说的办法把PES抽出来后加上PS header转换出PS文件,ps header中的SCR用pes header中的PTS填充。
得到的ps文件如果是audio可以播放,video则不能播放,AV都有的话则kmplayer只认识audio,vlc播放画面马赛克和严重。
不清楚到底是哪里出了问题。

[解决办法]
PTS、DTS、SCR 没有设置好的话,应该不会有马赛克啊,最多是画面停顿不连续吧。

热点排行