I know some OSS such as ffmpeg or gstreamer don't support to play-back MPEG2-TTS stream. Then, I tried to convert 192 bytes TTS packet to 188 bytes TS packet by deleting first 4 bytes like:
def conv_tts2ts(rtp_payload):
payload_len = len(rtp_payload)
if payload_len % 192 != 0:
raise
pkt_num = int(payload_len / 192)
ts_data = bytearray()
for i in range(pkt_num):
spos = 192 * i
epos = spos + 192
tmp = rtp_payload[spos:epos]
ts_data.extend(tmp[4:])
return ts_data
# after this, send ts_data with RTP header received from MPEG2-TTS streamer via UDP/IP.
However, ffplay and ffprobe don't reaction.
I expect to be able to play-back using ffplay as MPEG2-TS format. Please tell me how to convert TTS to TS in order to deocde by ffmpeg?