On Wed, Dec 30, 2015 at 12:23 AM, Roger Pack <rogerdpa...@gmail.com> wrote: >> OK I had this great idea to capture the incoming MPEG2 transport >> stream from the digital TV capture device. Kind of like "raw" stream, >> so FFmpeg could have access to, for instance, all the audio stream. >> >> It appears that the type coming out of the tuner is: >> MEDIATYPE_Stream >> with subtype >> KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT >> which is apparently treated the same as MEDIASUBTYPE_MPEG2_TRANSPORT >> by the built in directshow mpeg demuxer [1] so I assume is some kind >> of typical MPEG2 TS stream. >> >> I had hoped that if I set dshow's AVStream's codec_id to >> codec->codec_id = AV_CODEC_ID_NONE; >> codec->codec_type = AVMEDIA_TYPE_DATA; > > Oops that was meant to be > > codec->codec_id = AV_CODEC_ID_MPEG2TS; > codec->codec_type = AVMEDIA_TYPE_DATA; > >> That it would somehow recognize that I was sending it an MPEG stream >> and insert an appropriate demuxer for me. >> >> However, when I run it, it fails like this: >> >> Input #0, dshow, from 'video=Hauppauge WinTV 885 BDA Tuner/Demod': >> Duration: N/A, bitrate: N/A >> Codec 0x20000 is not in the full list. >> Stream #0:0, 0, 1/27000000: Data: unknown_codec, 0/1 >> Successfully opened the file. >> Output #0, mp4, to 'yo.mp4': >> Output file #0 does not contain any stream >> >> so it's definitely not, for instance, doing a probe or analyze on the >> MPEG stream.... >> >> Is this possible or any hints/tips/tricks I could possibly use? > > To answer my own question, I turned the dshow capture device into both > an AVInputFormat *and* a URLProtocol that "wraps" the AVInputFormat. > Apparently ffmpeg can receive "raw" bytes only from URLProtocol (?) > This way worked great both "segmented" MPEG2VIDEO streams as well as > "raw" MPEG TS streams. >
You should probably just make it use the mpegts demuxer directly, say like the rtsp demuxer. We have an API for that in the form of avpriv_mpegts_parse_packet Making an input device a protocol seems rather ugly, the user needs to know beforehand how to call it that way. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel