ireader / media-server

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

视频TS复合成功,咨询音视频的TS复合和同步问题,感谢 #329

Open ruixiang6 opened 4 months ago

ruixiang6 commented 4 months ago

尊敬的博主,在网上搜索相关的TS打包库,发现了您的libmpeg库。我看了您的例子,是把一个TS文件解复合再复合,并没有使用264和aac文件的复合。我在工程的使用是可以采集编码视频和音频,可以正常使用您的库吗? 我试了一下,单纯只把视频复合成TS是可以正常使用的,主要用到mpeg_ts_add_stream和mpeg_ts_write两个API。如果视频和音视频要一起复合成TS流,请问如何使用?我主要考虑不知道如何做同步,您的API里把同步功能做了,还是需要我在外面做? 希望您能提供思路,感谢!

ireader commented 4 months ago
  1. 音视频分别调用一次mpeg_ts_add_stream, 返回值对应音、视频流id, 写入数据时mpeg_ts_write把流id作为参数输入;
  2. 音视频同步由您在上层处理, 一般情况下收到音视频帧后调用mpeg_ts_write写入即可, 播放器会处理同步。 如果音视频分别从文件中读取,则需要准备俩个队列, 按照时间顺序读取音视频帧后再调用mpeg_ts_write写入。
ruixiang6 commented 4 months ago

感谢您提供的思路和方法!

  1. 音视频分别调用一次mpeg_ts_add_stream, 返回值对应音、视频流id, 写入数据时mpeg_ts_write把流id作为参数输入;
  2. 音视频同步由您在上层处理, 一般情况下收到音视频帧后调用mpeg_ts_write写入即可, 播放器会处理同步。 如果音视频分别从文件中读取,则需要准备俩个队列, 按照时间顺序读取音视频帧后再调用mpeg_ts_write写入。