Support for RTMP streaming server

perandre - February 10, 2009 - 12:30
Project:Embedded Media Field
Version:6.x-1.x-dev
Component:Embedded Video Field
Category:feature request
Priority:normal
Assigned:Unassigned
Status:active
Issue tags:emfield, Flowplayer, rtmp
Description

The ablilty to insert a url from an adobe streaming server (rtmp://example.com/myvideo.flv) would be a very nice (and needed) feature for a pro video site.

#1

Alex UA - May 9, 2009 - 22:45
Status:active» postponed (maintainer needs more info)

What video player supports rtmp?

#2

perandre - May 9, 2009 - 23:43

@Alex UA: Use the module flvmediaplayer (jw player), and your cool. Flowplayer also works.

#3

Rob Loach - October 7, 2009 - 16:09
Status:postponed (maintainer needs more info)» active

Flowplayer supports RTMP streaming. All we'd need to do is add the rtmp:// protocol to the compatible list of Custom URLs, and Flowplayer would be used to stream the RTMP video.

#4

aaron - October 7, 2009 - 16:11

wow, nice! let's do that, then :D anyone have an example url i can use to test? i can work on this later this week.

#5

adVid - October 7, 2009 - 17:37

@aaron : you can use 'rtmp://video1.advid.tv/druptest' as 'netConnectionUrl' and 'Extremists.flv' and 'mp4:Extremists.m4v' as filenames.
Don't forget to add rtmp plugin to flowplayer config. Do you think it could be a good idea to add a specific provider for RTMP streams ?

Thank you.

#6

Rob Loach - October 7, 2009 - 18:02

You can find an example of RTMP streaming through Flowplayer here:
http://flowplayer.org/plugins/streaming/rtmp.html

I'm not entirely 100% sure, but I think the latest version of Flowplayer supports automatic initialization of the RTMP when it sees the rtmp:// protocal. So you might be able to just use:

<?php
$output
= theme('flowplayer', 'rtmp://cyzy7r959.rtmphost.com/flowplayer');
?>

#7

adVid - October 7, 2009 - 19:06

Rob, I don't think it would work. As I said before, you need to set 'netConnectionUrl' to the streaming server application root. Then set 'url' parameter to desired filename to stream.
From your link :
netConnectionUrl : The RTMP URL used to connect to the server app. Required if not specified in the plugin.
url : The name of the stream. For h.264 encoded files, use following format: mp4:stream.mp4. For audio files use mp3:audio.mp3. NOTE: With Adobe's Flash Communication Server the stream name does not include the file extension, for example mp3:audio, or mystream.

Actually, I already tried sth like 'rtmp://video1.advid.tv/druptest/Extremists.flv' but it does not work with current modules.

I'd really like to have some kind of 'rtmp-flowplayer' provider ;)

#8

Rob Loach - October 7, 2009 - 19:26

Ah, that makes sense. So it might end up looking more like:

<?php
$output
= theme('flowplayer', array(
 
'clip' => array(
   
'provider' => 'rtmp',
  ),
 
'plugins' => array(
   
'rtmp' => array(
     
'netConnectionUrl' => 'rtmp://flowplayer.org:1935/fastplay',
    ),
  ),
));
?>

... In one of the 3.1.3 changelogs though, it read:

- Now automatically uses a plugin that is called 'rtmp' for all clips that have the rtmp-protocol in their URLs.

Not sure if that means it switches the URL to the netConnectionUrl or not. Worth a try :-) .

#9

adVid - October 7, 2009 - 21:25

It fails here. Don't know how to make this work. No idea about URL may look like in this case :(

#10

Rob Loach - October 7, 2009 - 21:57

Check this out.....

<?php
$output
.= theme('flowplayer', array(
 
'clip' => array(
   
'provider' => 'rtmp',
   
'url' => 'Extremists',
  ),
 
'plugins' => array(
   
'rtmp' => array(
     
'url' => 'flowplayer.rtmp.swf',
     
'netConnectionUrl' => 'rtmp://video1.advid.tv/druptest',
    ),
  ),
));
?>

Not sure how this would translate from Embedded Media Field Custom URL though..... rtmp://video1.advid.tv/druptest/Extremists.flv?

#11

adVid - October 8, 2009 - 09:41

I think your code is right Rob. Also, URL schema 'rtmp://HOST/APPLICATION/' is always correct so your Custom URL could be easily interpreted by emfield.
Once again, another way to achieve this could be with a new provider. aaron ?

#12

gp.mazzola - November 4, 2009 - 12:34

Hi I am trying to make flowplayer module to work with rtmp and I stepped into this thread.
I put the latest versions of flowplayer and rtmp plugin in the module folder and after trying various things I found out that:

the code

    'rtmp' => array(
      'url' => 'flowplayer.rtmp.swf'
    )

does not work for me. It does not find the plugin.
Then I have tried to give the complete URL like:

'url' => 'http://mydomain/sites/all/modules/flowplayer/flowplayer/flowplayer.rtmp.swf'

And still does not find the plugin.

Then I moved the plugin outside the modules directory and inside /sites/all/library/floplayer and gave the complete URL:

'url' => 'http://mydomain/sites/all/library/flowplayer/flowplayer.rtmp.swf'

This way it works. I don't understand why it is not able to load the plugin if it is inside the module directory.

 
 

Drupal is a registered trademark of Dries Buytaert.