• Home
  • What's Tribler
  • Download
  • FAQ
  • Forum
Tribler

Forum Overview > Tribler Forum > orchard SVN vs player

orchard SVN vs player

Hello Orchard Developers,

We are working with the orchard(/tribler streaming) source for our setopboxes. The main point of attention being integrating a "native" player instead of ffmpeg because we need hardware video/audio decoders to decode the video data, because the CPU of the box is too slow.

We have some questions about the SVN. 1. Where exactly on the SVN is the most recent version (4?) of orchard located (version with separated userinterface and engine).

2. It would be extremely helpfull if we could have some simple pointers about the whereabouts and workings of the integration of the "player" in the orchard source code. Like from which file/part of the orchard source is FFMPEG started and called, and how is the interaction and data transfer between the two software parts implemented. Any feedback on this would be highly appreciated, as it could save us a lot of time locating the lines in question and figuring them out.

Thanx in advance...

Greetings Paul S. for AHT-International development APSpijkerman@aht-international.com

Reply Quote
anonymous
02/17/08 21:50:56
  • Message #33

    Hi,

    It should be noted that the code doesn't actually use the "orchard" algorithm. So I'll refer to it as "Tribler Streaming".

    1) The SVN of Tribler Streaming is http://svn.tribler.org/orchard/branches/withplayer/

    2) To interact with the video source (camera) and sink (player),two interfaces are used, as described in inputstream.py and outputstream.py. The right classes are instantiated in player.py, and are given as a parameter to the Orchard p2p algorithm (still the old name, sorry).

    Several example classes are included. One uses ffmpeg, another logs to disk. Note how the classes (try to) provide PTS information to signal to the p2p algorithm about the playback position. This allows the p2p algorithm to judge which packets should not be requested anymore.

    Three streams will be used, with packet #i belonging to stream i % 3. Stream 0 is audio, 1 is odd frames, 2 is even frames. Of course, if no MDC is used, you can just combine all streams and not care about their meaning.

    Finally, Tribler Streaming inspects the packets produced by the video server in packetformat.py, to determine when a packet will be due for playback, which packets are I-frames, which are audio, etc. These functions should be rewritten if a different codec is used.

    Reply Quote
    jdmol
    02/20/08 10:35:03

Search the Forum


Latest news

29 April 2008

Tribler Team organized a successful course on Advanced P2P Technology
Read More

17 February 2008

19 Million Euro for P2P research
Read More

Please contact us if you have found a news item that's not listed here.


  • News
  • Developers
  • Business
  • Research
  • Jobs
  • About Us
  • Press
  • Contact
Login