Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Thanks. :-) Adi On Thu, Jul 25, 2013 at 3:03 PM, Carl Eugen Hoyos wrote: > Adi Shavit writes: > >> I used the term "program" since that's what VLC calls >> selection the "channel" in a multi-program stream. >> I think this may be the same thing and the variable >> identifies which stream(s) belongs to which channel. >> Correct? > > Sounds correct. > (But I have never selected channels with vlc.) > > Carl Eugen > > ___ > Libav-user mailing list > Libav-user@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/libav-user ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Adi Shavit writes: > I used the term "program" since that's what VLC calls > selection the "channel" in a multi-program stream. > I think this may be the same thing and the variable > identifies which stream(s) belongs to which channel. > Correct? Sounds correct. (But I have never selected channels with vlc.) Carl Eugen ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
>> >> What's the relationship between "programs" and streams? > > (You mentioned programs, as said, I may have > misunderstand.) > In transport streams, audio and video streams > typically belong to a program, see ffmpeg -i file.ts for > an example. Ah, ok, I get it. I used the term "program" since that's what VLC calls selection the "channel" in a multi-program stream. I think this may be the same thing and the variable identifies which stream(s) belongs to which channel. Correct? > >> I can see av_find_program_from_stream() in my header >> file, but I can't seem to find it in the docs here: >> http://libav.org/doxygen/master/avformat_8h_source.html > > avconv contains several hundred known bugs not present in > FFmpeg, some of them security-relevant, please understand > that we cannot support it here. > See http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html > for more information. > > See http://ffmpeg.org/doxygen/trunk/avformat_8h_source.html > for the sources in question. Thanks for the correct link. In any case, I'm using ffmpeg, just had the wrong doc link. Thanks, Adi ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Adi Shavit writes: > > > If so, how can I get the "program name" in a > > > named stream to know which one I'm processing? > > > > See AVFormatContext->programs[] and > > av_find_program_from_stream() and friends. > > What's the relationship between "programs" and streams? (You mentioned programs, as said, I may have misunderstand.) In transport streams, audio and video streams typically belong to a program, see ffmpeg -i file.ts for an example. > I can see av_find_program_from_stream() in my header > file, but I can't seem to find it in the docs here: > http://libav.org/doxygen/master/avformat_8h_source.html avconv contains several hundred known bugs not present in FFmpeg, some of them security-relevant, please understand that we cannot support it here. See http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html for more information. See http://ffmpeg.org/doxygen/trunk/avformat_8h_source.html for the sources in question. Carl Eugen ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Hi Carl, > > > What I'm asking is if it is possible to demux > > and the decode all (desired) streams independently. > > Again, I may misunderstand, but I suspect you cannot > demux the streams of a transport stream independently > but you can only decode the resulting video and audio > streams independently (FFmpeg does not support mvc yet). Sorry for the confusion. I think I am starting to figure out what I want/need to do. Basically, I can use av_find_best_stream() with multiple stream indexes and save the proper codec for each such (desired) stream. Then when grabbing the frames with av_read_frame, I can check the packet.stream_index and for those indexes that I want to decode, I can call the appropriate decoder. I think this should work. > > > > If so, how can I get the "program name" in a > > named stream to know which one I'm processing? > > See AVFormatContext->programs[] and > av_find_program_from_stream() and friends. What's the relationship between "programs" and streams? I can see av_find_program_from_stream() in my header file, but I can't seem to find it in the docs here: http://libav.org/doxygen/master/avformat_8h_source.html > > Please do not top-post here, it is considered > rude, and if possible, please set your mailer > to text-only. I apologize, for the non-threaded reply. I didn't get the reply email and had to paste your reply (from the web archive) into my question email. Thanks, Adi ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Adi Shavit writes: > What I'm asking is if it is possible to demux > and the decode all (desired) streams independently. Again, I may misunderstand, but I suspect you cannot demux the streams of a transport stream independently but you can only decode the resulting video and audio streams independently (FFmpeg does not support mvc yet). > If so, how can I get the "program name" in a > named stream to know which one I'm processing? See AVFormatContext->programs[] and av_find_program_from_stream() and friends. Please do not top-post here, it is considered rude, and if possible, please set your mailer to text-only. Carl Eugen ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Hi Carl, Thanks for the quick reply. What I'm asking is if it is possible to demux and the decode all (desired) streams independently. I guess the answer is yes. If so, how can I get the "program name" in a named stream to know which one I'm processing? Thanks, Adi >* I have a udp feed with a multi-program stream. > *>* I need to demux all the streams simultaneously. > *>* Can avlib do this? > * > * * I may misunderstand your question but I believe > FFmpeg can only demux all streams of a transport > stream (you can of course ignore the streams > that you don't need). > Carl Eugen ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user
Re: [Libav-user] Using libav to demux multiple programs from multi-program stream
Adi Shavit writes: > I have a udp feed with a multi-program stream. > I need to demux all the streams simultaneously. > Can avlib do this? I may misunderstand your question but I believe FFmpeg can only demux all streams of a transport stream (you can of course ignore the streams that you don't need). Carl Eugen ___ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user