From: Brice Dubost <dubost@crans.org>
To: linux-media@vger.kernel.org
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] Weird TS Stream from DMX_SET_PES_FILTER
Date: Fri, 20 Mar 2009 10:09:17 +0100 [thread overview]
Message-ID: <49C35D3D.7070300@crans.org> (raw)
In-Reply-To: <1002969792.105131237502284915.JavaMail.root@email>
Bob Ingraham wrote:
> Hello,
>
> I've been using the Linux DVB API to grab DBV-S MPEG2 video packets using a TechniSat S2 card.
>
> But something seems odd about DMX_SET_PES_FILTER.
>
> It returns a TS packets for my pid just fine, but by MPEG2 frames have no PES headers! The raw compressed MPEG2 frames just immediately follow the TS/adapation-field headers directly.
>
> When I wrote my TS packet decoder, I was expecting to have to decode PES headers after the TS header. But instead I found the raw compressed frames.
>
> They decode fine (with ffmpeg's libavcodec mpeg2 decoder,) and they look fine when rendered using SDL.
>
> But besides my own program, I can't get vlc or mplayer to decode this stream. Both vlc and mplayer sense a TS stream, but then they never render anything because, I suspect, that they can't find PES headers.
>
> So, two questions:
>
> 1. Am I crazy or is DMX_SET_PES_FILTER returning a non-standard TS stream?
>
> 2. Is there a way to receive a compliant MPEG-TS (or MPEG2-PS,) stream?
>
> 3. Should I use DMX_SET_FILTER instead?
>
> 4. If so, what goes in the filter/mask members of the dmx_filter_t struct?
>
>
> Thanks,
> Bob
>
> PS: I use the following to filter on my video stream pid (0x1344):
>
> struct dmx_pes_filter_params f;
>
> memset(&f, 0, sizeof(f));
> f.pid = (uint16_t) pid;
> f.input = DMX_IN_FRONTEND;
> f.output = DMX_OUT_TS_TAP;
> f.pes_type = DMX_PES_OTHER;
> f.flags = DMX_IMMEDIATE_START;
>
>
Hello,
I use exactly the same parameters and I get a raw mpeg2-TS stream (ie
packet of 188 bytes with the TS headers as defined in the mpeg2-ts norm)
If you want your stream to be read with VLC you need also the PAT and
the PMT pids. If you want the sound you'll need also the PCR pid.
I don't know how to get the PES headers
Hope this information will help you
Regards
--
Brice
prev parent reply other threads:[~2009-03-20 9:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1519873602.105111237502250958.JavaMail.root@email>
2009-03-19 22:38 ` Weird TS Stream from DMX_SET_PES_FILTER Bob Ingraham
2009-03-20 9:09 ` Brice Dubost [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49C35D3D.7070300@crans.org \
--to=dubost@crans.org \
--cc=linux-dvb@linuxtv.org \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.