Hi,
Mahmoud M'HIRI wrote:
[...]
> 2) AMR and H.263 packetizations are not currently supported by the RTP
>> muxer, and by the SDP generator.
>
>
> It could be the case for the SDP generator and for AMR, but I'm successfully
> live-transcoding from mpeg2 to h263p (tested with ffplay -f h263
> rtp://0.0.0.0?localport=5050).
Yes, ffmpeg can transcode to H.263 without problems, but I doubt it can
put the H.263 ES in RTP packets using the correct RTP syntax. In your
example, you are forcing ffplay to use the raw H.263 format for the input.
I did not read the RFC about the H.263 payload for RTP, but I don't think
that using the H.263 ES as RTP payload is correct (I am pretty sure that
a payload header is needed for H.263).
[...]
> 3) When there are two streams with dynamic payload types, libavformat
>> ends up giving the same PT to both the two streams. I suspect this is
>> not wrong, but having the same PT for two different codecs confuses some
>> players.
>
>
> I agree that the same dynamic PT do not cause troubles to players, but I'm
> not sure. But I noticed that ffmpeg is putting 0 in the ssrc field for both
> streams (A / V), does this cause any troubles to players?
I'll look into this. I've never experienced any kind of problems with SSRC,
but the behaviour you describe is wrong, and should be fixed.
I'll try to produce a patch in the next days.
[...]
>> Since the RTP muxer does not support H263 and AMR, the packetization is
>> probably wrong. Also, I do not know where you got the config values
>> from, but they might be wrong.
>
>
> Yes they could... have you any idea how and where to hack ffmpeg for AMR
> packetization support?
There are two places to fix:
1) libavformat/sdp.c: you have to add a "case CODEC_ID_AMR" (or whatever is
the name) in sdp_media_attributes(). There should be an RFC describing AMR
audio in RTP, and such RFC should also describe what to write in the SDP.
2) libavformat/rtpenc.c: you have to add a similar "case" in rtp_write_header()
and rtp_write_packet(). Note: the implementation of the packetization function
(ff_rtp_send_amr()) should be in a separate rtpenc_amr.c file.
[...]
> Why ffmpeg displays output as if he was correctly streaming when he does
> noit support amr for rtp
Good question :). I'll fix it.
Luca
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user