[linux-dvb] writing DVB recorder, questions
zaheermerali at gmail.com
Thu Feb 26 13:40:51 CET 2009
On Thu, Feb 26, 2009 at 12:28 PM, Juhana Sadeharju <kouhia at nic.funet.fi> wrote:
> Hello. I started writing a simple DVB recorder, dvbrec. Perhaps
> it later evolves to program such as Klear, which indeed is
> clearest thing I have seen among DVB programs (but misses subtitles).
> The complete stream has too much of data: 10 GB per hour.
> As solution, existing recorders seems to pick only parts of the
> whole stream (audio and video of one channel), missing many
> features, including subtitles. The idea seems to be to drop
> the parts that are unwanted and unknown (to author).
> Perfect recording requires more. My idea is to pick all what comes
> and drop the known parts: audio and video of the unwanted channels.
> This leaves subtitles, alternative languages, robovoice, epg,
> text-tv, etc. intact.
> Xine plays poorly the output of "dvbstream -o 8192". I yet don't
> know why. Xine people may take this early hint and think about
> playing the complete DVB stream with a configurable way to play it.
> (1) In dvbstream, what happens when 8192 is only PID? I have stared
> at the code but cannot figure out how the device is configured. I want
> all data from the DVB device like "dvbstream -o 8192" does.
> Then I may parse the stream on my own.
> (2) Do I need to use demux? PES? Filters? I don't understand them.
> Quick intro would be nice as well.
> (3) What PID to use for subtitles? channels.conf lists numbers
> 512:650:17 as a last thing. They seem to be video PID (512) and
> audio PID (650). Where is the subtitle PID (DMX_SUBTITLE)?
> (4) I have followed Xine's way, but my program ends to
> "Unable to read PAT filter". The polled and read FD is a demux FD.
> How the demux should be used?
> I will ask more questions later. Recording video and audio has
> been easy, but subtitles, EPG, etc. are quite a different story.
> PS. I'm now trying to read PAT/PTM but I get nothing from
> demux FD. I'm following xine-lib, but apparently not enough well.
> linux-dvb users mailing list
> For V4L/DVB development, please use instead linux-media at vger.kernel.org
> linux-dvb at linuxtv.org
In GStreamer this is easy:
If you have a zap style channels.conf file as
~/.gstreamer-0.10/dvb-channels.conf, you can do for example if you
have a channel called BBC ONE: gst-launch dvb://BBC\ ONE ! filesink
It follows the PAT, PMT and will output the PAT, PMT and all stream
pids including subtitle, teletext, private stream as well as all the
video and audio pids and the PCR PID (if not one of the stream pids).
More information about the linux-dvb