ireader / media-server

RTSP/RTP/RTMP/FLV/HLS/MPEG-TS/MPEG-PS/MPEG-DASH/MP4/fMP4/MKV/WebM
MIT License
3.12k stars 1.09k forks source link

265 打包成ts 流长时间后ts流不能被识别 #332

Open coolqiu opened 7 months ago

coolqiu commented 7 months ago

我们打包实时流,一般20小时后vlc 收流就不能播放了,把ts存下来后发现文件中没有pat pmt ,请问这个是什么问题?

ireader commented 7 months ago

正常情况50帧(音频/视频) 或者 视频关键帧 会生成PAT/PMT。

保存的TS文件有多大, 连续多保存个几个TS文件确认下呢?

coolqiu commented 7 months ago

我这个不存流,在ts 回调函数中用udp 发走,接收端也不是一直在线接收,隔个一两个小时用vlc接收解码看看

coolqiu commented 7 months ago

另外,为避免生成一包ts包就调用回调函数的频繁操作,修改了mepg-ts-enc.c的 ts_write_pes函数,在mpeg_ts_enc_context_t 中 为视频和音频各添加了一个内存缓冲区,用与在ts_write_pes 缓冲一整帧的ts 流包

mpeg-ts-enc.zip

coolqiu commented 7 months ago

此问题已解决,是我的版本问题,新版本程序和老版本混了,完全用最新的版本没事