Opened 2 months ago

#11167 new enhancement

Decode prompeg RTP stream with FEC

Reported by: Youenn Piolet Owned by:
Priority: wish Component: avcodec
Version: unspecified Keywords: prompeg fec rtp decoding
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary:

Hi, I'm trying to decode a RTP stream with Forward Error Correction with ffmpeg. I'm not sure it's possible natively, can you confirm this?
If no, is it something that is planned or blocked by some important reason?

How to reproduce:

# First indication : no mension of prompeg in protocol list
% ffmpeg -protocols
Input:
  <no prompeg>
Output: 
  prompeg

# Create a rtp stream with prompeg/fec
% ffmpeg -re -i https://icecast.radiofrance.fr/fip-midfi.aac -f rtp_mpegts -fec prompeg=l=8:d=4 rtp://127.0.0.1:1025

# Create a sdp file to decode the rtp stream
cat > sdp.sdp <<EOF
v=0
o=- 0 0 IN IP4 127.0.0.1
s=RTP Stream with FEC
c=IN IP4 127.0.0.1
t=0 0
a=tool:ffmpeg
m=audio 1025 RTP/AVP 33
a=rtpmap:33 MP2T/90000
a=fmtp:33; fec=prompeg l=8 d=4
EOF

# Try to read the stream
% ffmpeg -loglevel level+debug -protocol_whitelist file,udp,rtp -i sdp.sdp -c:a copy output_sdp.wav
# it works but no log about fec/prompeg

# introduce drops or rate limit with ntf or anything you want
# my kernel doesn't seem to support `limit rate` rules so I fully dropped some packets
% sudo nft add chain ip filter INPUT \{ type filter hook input priority 0 \; \}
% sudo nft add rule ip filter INPUT udp dport 1025 counter drop
% sudo nft delete chain ip filter INPUT
# ffmpeg logs the missing rtp payload at resume, but the output audio has been truncated and still no log about the usage of FEC

% ffmpeg -version
ffmpeg version n7.0.2 Copyright (c) 2000-2024 the FFmpeg developers

Thanks in advance!
(first issue I open here, feel free to tell me if I did something wrong)

Change History (0)

Note: See TracTickets for help on using tickets.