文件名称:tstools-1.11
文件大小:489KB
文件格式:ZIP
更新时间:2021-12-16 14:47:26
tstools 视频合成
合成源码流程
1.合成函数 --merge_with_h264()
2.流程
1)初始化重要参数值见下表
序号
参数
代表意思
1
got_video
标志位,合成TS流中是否有视频流;有为TRUE,否则false
2
got_audio
标志位,合成TS流中是否有音频流;有为TRUE,否则false
3
prog_pids[]
音视频PID,都有取2个,只有视频或音频取1。
4
prog_type[]
音视频流类型,都有取2个;如只要视频H264码流则 prog_type[0] = AVC_VIDEO_STREAM_TYPE;(0x1B)
2.取音频prog_type[]的值
代码:
switch (audio_type)
{
case AUDIO_ADTS:
case AUDIO_ADTS_MPEG2:
case AUDIO_ADTS_MPEG4:
prog_type[1] = ADTS_AUDIO_STREAM_TYPE;
break;
case AUDIO_L2:
prog_type[1] = MPEG2_AUDIO_STREAM_TYPE;
break;
case AUDIO_AC3:
prog_type[1] = ATSC_DOLBY_AUDIO_STREAM_TYPE;
break;
default: // what else can we do?
prog_type[1] = ADTS_AUDIO_STREAM_TYPE;
break;
}
3连续写出八个TS流空包------ write_TS_null_packet(TS_writer_poutput)
代码
write_TS_null_packet(TS_writer_p output)
{
byte TS_packet[TS_PACKET_SIZE];
int err, ii;
TS_packet[0] = 0x47;
TS_packet[1] = 0x1F; // PID is 0x1FFF
TS_packet[2] = 0xFF;
TS_packet[3] = 0x20; // payload only
for (ii=4; ii