State of rtmp support for XBMC

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
adammw Offline
Junior Member
Posts: 42
Joined: May 2010
Reputation: 1
Question  State of rtmp support for XBMC
Post: #1
Hi,
Reading though the general Internet and these forums I have seen many references to different patches, modifications and problems related to RTMP.
My questions are:
How currently is rtmp implemented in xbmc (or at least will be by 10.05)?
Is it based on rtmpdump's librtmp or a different librtmp?
Is it available to plugins/addons/scripts/etc.?
Is it built as a static or shared library (e.g. can a drop-in replacement be used)?
Does it support swf verification or not?
What needs to be changed (by the end-user) to support swf verification or rtmpe?
Does it support seeking on non-live streams?

Sorry for all the questions but I'd like to define exactly the current state in the SVN head (or the plan for 10.05) so I can go ahead and work out what I need to do to develop a plugin to play online videos utilising rtmp.

Thanks.
find quote
BrokenCodes Offline
Member
Posts: 95
Joined: May 2009
Reputation: 2
Post: #2
adammw Wrote:Hi,
Reading though the general Internet and these forums I have seen many references to different patches, modifications and problems related to RTMP.
My questions are:
How currently is rtmp implemented in xbmc (or at least will be by 10.05)?
Is it based on rtmpdump's librtmp or a different librtmp?
Is it available to plugins/addons/scripts/etc.?
Is it built as a static or shared library (e.g. can a drop-in replacement be used)?
Does it support swf verification or not?
What needs to be changed (by the end-user) to support swf verification or rtmpe?
Does it support seeking on non-live streams?

Sorry for all the questions but I'd like to define exactly the current state in the SVN head (or the plan for 10.05) so I can go ahead and work out what I need to do to develop a plugin to play online videos utilising rtmp.

Thanks.

1). Very Current, by 10.05
2). from Mplayer, so rtmpdump
3). Yes
4). OS Specific questions require your OS as part of the question
5). Yes.
6). Yes
find quote
adammw Offline
Junior Member
Posts: 42
Joined: May 2010
Reputation: 1
Post: #3
EDIT: I feel really stupid, it seems I didn't read the comments well enough. The problem was the format changed to have the playpath inside the url (space separated) rather than with that setProperty thing. You can ignore this reply.

Quote:Yes, Yes, Yes

Great, I was thinking that XBMC took the wimpish approach of forgoing SWF Verification and using flvstreamer instead. In refering to the static/shared library, I was specifically asking about Win32 OS, but I assume it's shared as I can see a librtmp.dll in system\players\dvdplayer

I'm not sure if this is the right place to post the next question, but tell me if not.
Using code found on http://trac.xbmc.org/ticket/8971 I made a simple addon to test this support on r31595 nightly, but I can't seem to get it working.
I've never written an XBMC addon so I'm not sure where I'm going wrong.
Code:
"""
    Plugin for testing RTMP support
"""
import xbmc, xbmcgui, xbmcplugin

if ( __name__ == "__main__" ):
    rtmp_url="rtmp://localhost/vod"
    item = xbmcgui.ListItem("RTMPLocal")
    item.setProperty("PlayPath", "Get Smart")
    xbmc.Player(xbmc.PLAYER_CORE_AUTO).play(rtmp_url, item)

I should note that normal urls work (I tested it also with http://localhost/blah.mp4) and I also tested the RTMP url in rtmpdump.
(This post was last modified: 2010-07-10 00:29 by adammw.)
find quote
highlandsun Offline
Senior Member
Posts: 152
Joined: Mar 2009
Reputation: 0
Post: #4
adammw Wrote:EDIT: I feel really stupid, it seems I didn't read the comments well enough. The problem was the format changed to have the playpath inside the url (space separated) rather than with that setProperty thing. You can ignore this reply.

The old format and item properties are still supported, but if you want to use new features like SWF verification, you need to use the new format. Any existing scripts that only need plain old rtmp should work without any changes (in their rtmp setup).
find quote
Basje Offline
Skilled Python Coder
Posts: 1,080
Joined: Jul 2005
Reputation: 6
Post: #5
Are there any directions on how to use the RTMPE?

find quote
kulprit Offline
Senior Member
Posts: 249
Joined: Jan 2009
Reputation: 0
Post: #6
And the changes to support swf verification required along with rtmpe on windows would be great as well.
find quote
adammw Offline
Junior Member
Posts: 42
Joined: May 2010
Reputation: 1
Post: #7
Basje Wrote:Are there any directions on how to use the RTMPE?

I believe it's as simple as (for a plugin/addon):
Code:
"""
    Plugin for testing RTMP support
"""
import xbmc, xbmcgui, xbmcplugin

if ( __name__ == "__main__" ):
    rtmp_url="rtmpe://ten-flashope-e.vx.kitd.com/ondemand/19056/1395/geo/ausonly/2010/Q1/fox-glee-122-080710-sg1_700.flv"
    item = xbmcgui.ListItem("RTMPLocal")
    xbmc.Player(xbmc.PLAYER_CORE_AUTO).play(rtmp_url, item)

Note the rtmpe

kulprit Wrote:And the changes to support swf verification required along with rtmpe on windows would be great as well.

I haven't tested it, but as highlandsun said on ticket #8971, it should be like:
Code:
import xbmc, xbmcgui

rtmp_url = "rtmp://127.0.0.1/myapp playpath=foobar swfurl=http://www.bbc.co.uk/emp/10player.swf swfvfy=true"
item = xbmcgui.ListItem("RTMPLocal")
xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER).play(rtmp_url, item)

@highlandsun
I wasn't quite sure but was seeking one of those 'yes'es? I tried to seek (about +0:50 seconds) a non-live rtmp stream on r31595 but the video just crashed (the last 1/2 second of video and audio keep repeating). Is this a bug or simply not yet implemented?

Thanks for your great work and help,
find quote
highlandsun Offline
Senior Member
Posts: 152
Joined: Mar 2009
Reputation: 0
Post: #8
Yes, seeking is implemented. If it crashed for you, you should probably post the details in a new item in trac.

And yes, you've got the other info correct.
find quote