W
watter
Unregistered / Unconfirmed
GUEST, unregistred user!
编写网络视频传输系统中碰到的问题:发送端采用德加拉公司的AVE2KXD视频压缩压缩卡
采集视频信息,得到MPEG1数据流,包的大小为2324,用UDP对网络广播,接收端用DirectShow
对接收的数据包进行解码回放。在进行长时间运行测试时,发现运行5个小时解码器停止工作
,与厂商联系,得知为了板卡工作的稳定性,厂商在驱动中设置了工作5个小时对压缩卡关闭
再重新启动的机制,与解码器停止工作的时间吻合,用压缩卡自带的SDK做本地保存测试,播
放生成的MPEG1文件,发现在5个小时的位置,有异常现象。
本人对以上现象初步理解:由于压缩卡在关闭重新启动的瞬间发出了不符合MPEG1格式的
数据包,或是重新启动后发出的第一个数据包不符合MPEG1格式,使得DirectShow不能识别该
数据包,导致解码停止;
问题的解决办法有两个,
1、对每一个数据包进行识别,将不符合MPEG1格式的数据包丢弃;
2、截获DirectShow发出的异常消息,做相应处理;
以上两种办法具体如何实现,请帮忙,谢!
采集视频信息,得到MPEG1数据流,包的大小为2324,用UDP对网络广播,接收端用DirectShow
对接收的数据包进行解码回放。在进行长时间运行测试时,发现运行5个小时解码器停止工作
,与厂商联系,得知为了板卡工作的稳定性,厂商在驱动中设置了工作5个小时对压缩卡关闭
再重新启动的机制,与解码器停止工作的时间吻合,用压缩卡自带的SDK做本地保存测试,播
放生成的MPEG1文件,发现在5个小时的位置,有异常现象。
本人对以上现象初步理解:由于压缩卡在关闭重新启动的瞬间发出了不符合MPEG1格式的
数据包,或是重新启动后发出的第一个数据包不符合MPEG1格式,使得DirectShow不能识别该
数据包,导致解码停止;
问题的解决办法有两个,
1、对每一个数据包进行识别,将不符合MPEG1格式的数据包丢弃;
2、截获DirectShow发出的异常消息,做相应处理;
以上两种办法具体如何实现,请帮忙,谢!