Hi,
I just started using libavformat and I am trying to receive an HLS stream. I
don't want to decode the stream, I will only be looking at duration and
timestamps of select segments to analyse the video segments.
The problem is that I want libavformat to parse the m3u8 file and give me all
the different variants and segments. So I use the following command to open the
m3u8 link which is saved in src_url (from ffmpeg example codes)
if (avformat_open_input(&fmt_ctx, src_url, NULL, NULL) < 0) {
fprintf(stderr, "Could not open source file %s\n", src_filename);
exit(1);
}
It turns out that this is what happens : main -> avformat_open_input ->
hls_read_header -> avformat_find_stream_info and avformat_find_stream_info
fails for the very first ts segment it tries. My understanding is that
avformat_find_stream_info tries to decode part of the ts segment and fails
because I am compiling without libx264 (my configure command is given at the
end), is that right?
Is there a way that I can stop libavformat from actually trying to download and
read the ts segments. I want the library to parse m3u8 and give me all the
variant segments, then I want my application to decide which segments to
download and demux (not decode). I would think there is a flag somewhere, but I
can't seem to figure it out. Is this even possible to do? I have seen code that
demuxes mov to extract only timestamps without decoding (of course that was not
HLS), but I am stuck with the m3u8/mpegts combination.
Here is my configure command (the extra options are for some other formats that
I am also demuxing).
./configure --enable-shared --disable-static --disable-optimizations
--disable-mmx --disable-stripping
--prefix=/ --libdir=/lib --disable-all --enable-avformat --enable-avcodec
--enable-avutil
--enable-demuxer=mpegts --enable-protocol=http --enable-protocol=crypto
--enable-protocol=https -
-enable-demuxer=hls --enable-demuxer=mov --enable-demuxer=matroska
--enable-demuxer=flv
--enable-parser=h264 --enable-parser=aac --disable-debug --enable-small
--disable-zlib --disable-bzlib
--disable-pthreads --disable-symver --disable-runtime-cpudetect
Regards,
Saba
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user