[mythtv] Adaptive streaming.

Kunal Kandekar kunalkandekar at gmail.com
Thu Oct 14 20:55:51 UTC 2010

> I can try to help you with part of your request. Disclaimer: I have not
> worked with the codebase since v 0.24-fixes, so this may be a little
> outdated.

Sorry, I meant to say I have not worked with it since *0.23-fixes*. I am NOT
from the future, in case you were wondering...


> For Recording:
> * <mythtv-src-root>/programs/mythbackend/encoderlink.cpp - manages tuners
> and encoders. It is mostly a wrapper around TVRec
> in <mythtv-src-root>/libs/libmythtv/tv_rec.h/cpp, which has most of the
> complexity (look at EncoderLink::StartRecording, EncoderLink::StopRecording
> and EncoderLink::SpawnLiveTV).
> * <mythtv-src-root>/programs/mythbackend/mainserver.cpp - receives commands
> from frontend or other clients and executes them (look at
> MainServer::HandleRemoteEncoder).
> * <mythtv-src-root>/libs/libmyth/programinfo.cpp - represents a program to
> be recorded, and has some methods to load the program you want (look
> at ProgramInfo::LoadProgramAtDateTime)
> For Playback (backend part of it... I haven't worked with the frontend part
> much, so I can't help much there):
> <mythtv-src-root>/programs/mythbackend/mainserver.cpp - receives request
> from clients for recorded files and streams it (look
> at MainServer::HandleFileTransferQuery)
> These are by no means the only files you may need to look at. Each one
> references and uses multiple other classes that you may have to look
> through.
> This link helps in explaining some of the protocol involved in recording
> and streaming TV (again, it may be outdated):
> http://www.mythtv.org/wiki/Myth_Protocol/Guide
> Looking at the messages exchanged and finding them in the MainServer source
> can give you an idea of the flow control at the backend. In general, you
> have to find free recorders, find one that can tune in to your required
> channel, instruct it to start recording, and check if it succeeded.
> As for adaptive streaming, I don't see the value of using it on a home
> network.
> Hope this helps.
> Kunal
> On Thu, Oct 14, 2010 at 3:47 AM, James Courtier-Dutton <
> james.dutton at gmail.com> wrote:
>> On 14 October 2010 00:24, Jean-Yves Avenard <jyavenard at gmail.com> wrote:
>> >
>> > Not working on your changing channel time improvement anymore?
>> I am, but the mythtv source code base is really difficult to understand.
>> There is no separation between frontend code and backend code, so it
>> is difficult to work out if a particular section of source code is
>> executed at the backend or the frontend. Is there a wiki page that
>> explains the architecture of the code a bit.
>> Something along the lines of:
>> For Recording:
>> Method X reads the media stream from the DVB card, it then sends it to
>> method Y which stores it on the HD.
>> For Playback:
>> Method X reads the media stream from the HD, it then sends it to
>> method Y which sends it over the network to the frontend.
>> _______________________________________________
>> mythtv-dev mailing list
>> mythtv-dev at mythtv.org
>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mythtv.org/pipermail/mythtv-dev/attachments/20101014/f029b4c3/attachment.htm>

More information about the mythtv-dev mailing list