[FFmpeg-devel] Detecting EOF in RTMP
TalkVideo at TalkVideo.net
TalkVideo at TalkVideo.net
Wed Jan 30 00:36:16 EET 2019
This is from an old thread here:
https://ffmpeg.org/pipermail/ffmpeg-devel/2009-December/062437.html
The problem at hand manifests itself as "freeze-frame" of the last frame in
a stream being displayed in OBS, until that source is de-activated and re-activated.
It seems that:
mp_media_next_packet() (from OBS)
calls:
int ret = av_read_frame(media->fmt, &pkt);
which waits for the next frame that never comes when the
remote device stops sending RTMP data.
So the question becomes, if one is developing an App to send an RTMP
Stream, is sending an EOT Control Character (Ascii \004) the way to signal the eof?
I looked at:
https://ffmpeg.org/doxygen/trunk/libavformat_2utils_8c-source.html
01523 if (eof && next_pkt->pts == AV_NOPTS_VALUE && last_dts != AV_NOPTS_VALUE)
I have not tried this yet with just using a file as the source in OBS, but as
far as I can see, the calls to av_read_frame will return a value on eof that can
be hanled by the calling program.
Thanks.
More information about the ffmpeg-devel
mailing list