RTMP streaming client library support in XBMC

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 10
Location: Sweden
Question  Port libRTMP streaming client library from Boxee to XBMC?
Post: #16
@vulkanr, I remember that you said at the DEV CON you implemented a RTMP client in Boxee, right? Confused

Any chance we could get the patch to XBMC's DVDPlayer?, ...is it for libcurl, or FFmpeg, or other?

What are the pros verses cons for implementing this into cURL and trying to get it committed upstream?
http://curl.haxx.se/libcurl/
http://curl.haxx.se

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
(This post was last modified: 2008-09-03 20:50 by Gamester17.)
find quote
TheBoxMan Offline
Fan
Posts: 346
Joined: Jan 2007
Reputation: 0
Wink   
Post: #17
Basje Wrote:So it won't work on Xbox at all?

I suspect that means it may need a bit of tweaking. Still it's a huge step forward.

I'm just pleased to see a chance that some progress will be made on RTMP. Wink
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,221
Joined: Oct 2003
Reputation: 178
Post: #18
spiff is on it I believe.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
Basje Offline
Skilled Python Coder
Posts: 1,122
Joined: Jul 2005
Reputation: 6
Post: #19
TheBoxMan Wrote:I suspect that means it may need a bit of tweaking. Still it's a huge step forward.

I'm just pleased to see a chance that some progress will be made on RTMP. Wink

Well, I tried to add it to the Xbox solution file. But now it won't compile at the moment, so I have to look into it some more.

But I just saw that revision 13674 was checked in which included RTMP support for linux. Is there any chance that somebody with more merging experience can get it into the Xbox branche?

find quote
deeceefar2 Offline
Junior Member
Posts: 12
Joined: Jul 2006
Reputation: 0
Post: #20
I played around with the RTMP streaming a bit last night, but wasn't able to get it to connect to stream.

this is an open source RTMP stream server to test with:
http://osflash.org/red5

There is already a package in ubuntu for it so just
sudo apt-get install red5

it comes ready to go just turn off firewall and you can test it with url:
rtmp://localhost/oflaDemo/IronMan.flv

VLC has support in their nightlies so you can use those to confirm that you have the server setup and working before testing against XBMC.

It is stuck in loop right now trying to connect to server.

Here is the log:
Code:
03:45:20 T:3057051584 M:200495104   DEBUG: Clearing cached fileitems [/home/deeceefar2/.xbmc/]
03:45:20 T:3057051584 M:200495104   DEBUG: CGUIMediaWindow::GetDirectory (/home/deeceefar2/.xbmc/)
03:45:20 T:3057051584 M:200495104   DEBUG:   ParentPath = [/home/deeceefar2/]
03:45:20 T:3057051584 M:200495104 WARNING: CreateFile, error 2 opening file </tmp/xbmc/6a68f3a1.fi>, flags:800, mode:100.
03:45:20 T:3057051584 M:200495104   DEBUG: Sort, sorting took 0 millis
03:45:20 T:2926091152 M:200495104   DEBUG: Running thread 2926091152
03:45:20 T:2926091152 M:200495104   DEBUG: thread start, auto delete: 0
03:45:20 T:2934483856 M:200495104   DEBUG: Running thread 2934483856
03:45:20 T:2934483856 M:200495104   DEBUG: thread start, auto delete: 0
03:45:20 T:2942876560 M:200495104   DEBUG: Running thread 2942876560
03:45:20 T:2942876560 M:200495104   DEBUG: thread start, auto delete: 0
03:45:20 T:2926091152 M:200495104   DEBUG: staticThread, deleting thread graphic context
03:45:20 T:2926091152 M:200495104   DEBUG: Thread 2926091152 terminating
03:45:20 T:2934483856 M:200495104   DEBUG: staticThread, deleting thread graphic context
03:45:20 T:2934483856 M:200495104   DEBUG: Thread 2934483856 terminating
03:45:20 T:2942876560 M:200495104   DEBUG: staticThread, deleting thread graphic context
03:45:20 T:2942876560 M:200495104   DEBUG: Thread 2942876560 terminating
03:45:21 T:3057051584 M:200511488   DEBUG: OnKey: 61480 pressed, action is 4
03:45:21 T:3057051584 M:200511488   DEBUG: OnKey: 61478 pressed, action is 3
03:45:21 T:3057051584 M:200511488   DEBUG: OnKey: 61478 pressed, action is 3
03:45:21 T:3057051584 M:200400896   DEBUG: OnKey: 61478 pressed, action is 3
03:45:22 T:3057051584 M:200511488   DEBUG: OnKey: 61453 pressed, action is 7
03:45:22 T:3057051584 M:200511488   DEBUG: new file set audiostream:0
03:45:22 T:3057051584 M:200511488   DEBUG: CPlayerCoreFactor::GetPlayers(rtmp://localhost/oflaDemo/IronMan.flv)
03:45:22 T:3057051584 M:200511488    INFO: Loading skin file: DialogProgress.xml
03:45:22 T:3057051584 M:200511488   DEBUG: Load DialogProgress.xml: 1.63ms (0.71 ms xml load)
03:45:22 T:3057051584 M:200511488   DEBUG: ------------------- GUI_MSG_WINDOW_INIT
03:45:22 T:3057051584 M:200511488   DEBUG: Progress dialog
03:45:22 T:3057051584 M:200511488   DEBUG: -------------------
03:45:22 T:3057051584 M:200511488   DEBUG: Alloc resources: 1.98ms (0.01 ms skin load, 0.08 ms preload)
03:45:22 T:2951269264 M:200421376   DEBUG: Running thread 2951269264
03:45:22 T:2951269264 M:200421376   DEBUG: thread start, auto delete: 1
03:45:22 T:3057051584 M:200421376  NOTICE: DVDPlayer: Opening: rtmp://localhost/oflaDemo/IronMan.flv
03:45:22 T:3057051584 M:200421376 WARNING: CDVDMessageQueue::Put MSGQ_NOT_INITIALIZED
03:45:22 T:3007871888 M:200421376   DEBUG: Running thread 3007871888
03:45:22 T:3007871888 M:200421376   DEBUG: thread start, auto delete: 0
03:45:22 T:3007871888 M:200421376  NOTICE: Creating InputStream
03:45:22 T:3007871888 M:200421376  NOTICE: Creating Demuxer
03:45:22 T:3007871888 M:200421376   DEBUG: START AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. STRING: onBWDone>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. NUMBER: 2.00>
03:45:22 T:3007871888 M:200421376   DEBUG: END AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: server sent ping. type: 0
03:45:22 T:3007871888 M:200421376   DEBUG: START AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. STRING: _result>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. NUMBER: 1.00>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: NULL
03:45:22 T:3007871888 M:200421376   DEBUG: Property: OBJECT ====>
03:45:22 T:3007871888 M:200421376   DEBUG: START AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <Name: level,  STRING: status>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <Name: code,  STRING: NetConnection.Connect.Success>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <Name: description,  STRING: Connection succeeded.>
03:45:22 T:3007871888 M:200421376   DEBUG: END AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: END AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: HandleInvoke, received result for method call <connect>
03:45:22 T:3007871888 M:200421376   DEBUG: sending ping. type: 0x0003
03:45:22 T:3007871888 M:200421376   DEBUG: START AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. STRING: _result>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. NUMBER: 2.00>
03:45:22 T:3007871888 M:200421376   DEBUG: Property: NULL
03:45:22 T:3007871888 M:200421376   DEBUG: Property: <no-name. NUMBER: 1.00>
03:45:22 T:3007871888 M:200421376   DEBUG: END AMF Object Dump:
03:45:22 T:3007871888 M:200421376   DEBUG: HandleInvoke, received result for method call <createStream>
03:45:22 T:3007871888 M:200421376   DEBUG: sending ping. type: 0x0003
03:45:32 T:3007871888 M:200114176   DEBUG: server sent ping. type: 6
03:45:32 T:3007871888 M:200114176   DEBUG: sending ping. type: 0x0007
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #21
still missing a few bits and pieces - it's WIP
find quote
Basje Offline
Skilled Python Coder
Posts: 1,122
Joined: Jul 2005
Reputation: 6
Post: #22
spiff Wrote:still missing a few bits and pieces - it's WIP
Will it also be in the Xbox release?

find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #23
stop hounding me already. YES, ofc it will be ported to xbox once it's done
find quote
athloni Offline
Fan
Posts: 312
Joined: Dec 2007
Reputation: 0
Post: #24
spiff Wrote:YES, ofc it will be ported to xbox once it's done

You're teh master! Nod
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 10
Location: Sweden
Thumbs Up   
Post: #25
Great, thanks spiff and vulkanr!

via libcurl or?

Cool

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
vulkanr Offline
Retired Team-Kodi Member
Posts: 31
Joined: Jun 2007
Reputation: 0
Post: #26
nope. via lib/libRTMP and dvdplayer's input stream.
find quote
TheBoxMan Offline
Fan
Posts: 346
Joined: Jan 2007
Reputation: 0
Post: #27
Excellent. Thanks spiff!
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 10
Location: Sweden
Post: #28
FYI; jmarshall merged the RTMP from the linuxport to the Xbox version of XBMC last week.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
find quote
Gamester17 Offline
Team-XBMC Forum Moderator
Posts: 10,523
Joined: Sep 2003
Reputation: 10
Location: Sweden
Question  Letting a other project like cURL or FFmpeg maintain this client code upstream?
Post: #29
How much work would it be and would there be any benifits to submitting this a patch to cURL for libcurl?

I know that if added to libcurl then they would maintain it and other project could contribute as well Wink

...or maybe submit otherwise it as a patch to FFmpeg instead? FFmpeg have RTP, RTPS, and HTTP clients integrated directly into libavformat (as demuxers) so why could it not have a RTMP client as well? BOXEE would surely score some more points with the general open source development community if they submitted patches to FFmpeg that got accepted to their SVN (warning though that they are very strickt about code formatting and even mailing etiquette and such so you would probably have to have the code reviewed by them several times for you to revise and resubmit).
https://lists.mplayerhq.hu/mailman/listi...peg-devel/
http://www.mplayerhq.hu/DOCS/tech/patches.txt
GPL is OK but LGPL lisenced is prefered:
http://ffmpeg.mplayerhq.hu/faq.html#SEC43

Confused
find quote
Basje Offline
Skilled Python Coder
Posts: 1,122
Joined: Jul 2005
Reputation: 6
Post: #30
Gamester17 Wrote:FYI; jmarshall merged the RTMP from the linuxport to the Xbox version of XBMC last week.

I already did a build, but I cannot get it to word. I will post a debug log somewhere today.

find quote