Hello everyone,

I am using livav-ffmpeg (ubuntu 16-04 LTS liav-ffmpeg packages) to forward RTP streams from a webRTC gateway to a streaming server. I have to remux my incoming RTP streams (i.e my audio and my video stream) using a RTSP muxer in order to contact my streaming server:

- Incoming RTP audio packets are encoded in OPUS, I transcode them into AAC before sending them to the RTSP muxer, which works fine

- On the video side, I get h264 packets from the incoming RTP video stream, that I just want to re-inject into the output RTSP muxer. I am struggling to do this correctly.

On the video side, what I do basically is:

- I create an AVPacket from my incoming h264 payload I get from my incoming RTP video stream

- I setup my packet.stream_index to make it point to my RTSP video stream

- then I call av_write_frame(rtsp_format_context, &packet)


Only the audio is sent (and received correcly by my streaming server), on the video side, it enters rtp_write_packet function (I get "0: write len=..." messages), and then nothing, packet is never sent. Once rtp_write_packet is entered I don't understand why the packet is not sent?? What is weird is that if I don't create an audio stream (so my RTSP muxer contains only my video stream), my video is sent correctly. So the problem happens when I have 2 streams in my RTSP muxer. Do you have any explanation for this?

I know, anyway that what I am doing is not correct: As my RTSP video stream is initialized with a H264 codec id, rtp_write_packet is computing a new NAL for each new packet. But I already have a correct NAL in my incoming RTP payload that I would not like to strip out. Basically I would just like to forward my incoming RTP h264 payload with no modification into my RTSP muxer, is there a simple way to do this?

Thanks a lot,

Emmanuel.

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to