FAQ  •  Register  •  Login

RTMP/RTMPE Support

<<

insane822

User avatar

Serviio lover

Posts: 61

Joined: Sat Aug 07, 2010 5:32 am

Post Tue May 15, 2012 5:19 pm

Re: RTMP/RTMPE Support

Reading their mailing list, it looks like they moved to github, so I'm assuming that's now the official repository. If that's the case, the handshake-10 support is unofficial and only available on the branch: https://github.com/svnpenn/rtmpdump/tree/handshake-10.

We'll wait and see, I guess. Thanks for the help.
<<

Illico

User avatar

DLNA master

Posts: 4646

Joined: Fri Jul 23, 2010 8:08 am

Location: France

Post Wed Jun 27, 2012 11:48 am

Re: RTMP/RTMPE Support

Not sure that rtmpdump will be updated, since the Adobe company asked SourceForge deleting a protocol implementation hosted on this site (rtmpdump), under the law DMCA3.
Illico
Sony 2010 KDL-46EX501 | BDP-S373 | SMP-N100 | Windows 8-i7 | Network DD HD-CE1.5TLU2 | Livebox2-UHD86 | ServiiDroid | ServiiGo | BubbleUPnP
Serviio beta tester - Moderator
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Wed Jun 27, 2012 4:44 pm

Re: RTMP/RTMPE Support

I think it only relates to USA, so if the code is hosted in Europe they can't do anything
<<

insane822

User avatar

Serviio lover

Posts: 61

Joined: Sat Aug 07, 2010 5:32 am

Post Mon Jul 02, 2012 3:39 am

Re: RTMP/RTMPE Support

I have compiled a windows binary with the code that supports shared libraries and everything appears to work perfectly.

http://stream-recorder.com/forum/showpo ... tcount=150
https://github.com/downloads/K-S-V/Scri ... .5-src.zip

Here is my compiled 32-bit windows binary of ffmpeg with handshake-10 support compiled from the code above: https://c388930.ssl.cf1.rackcdn.com/ffm ... mp-2.5.zip
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Mon Jul 02, 2012 11:26 am

Re: RTMP/RTMPE Support

cool, I'll try to build using your rtmpdump sources.
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Mon Jul 09, 2012 9:53 pm

Re: RTMP/RTMPE Support

I was looking at this. Currently having issues cross-compiling this, but also the rtmpdump team seems to suggest the Handshake 10 code is illegal, so will not distribute it with 1.0 for now. Users are obviously free to get your builds.
<<

insane822

User avatar

Serviio lover

Posts: 61

Joined: Sat Aug 07, 2010 5:32 am

Post Tue Jul 10, 2012 1:50 am

Re: RTMP/RTMPE Support

I'm pretty sure if you're in the USA, all versions of rtmpdump would be deemed "illegal", as it's reverse engineering the RTMPE protocol. I won't argue, though. :D

Just a heads up, the handshake-10 code needs to be compiled on a 32-bit platform if that was causing any issues.
<<

insane822

User avatar

Serviio lover

Posts: 61

Joined: Sat Aug 07, 2010 5:32 am

Post Tue Jul 10, 2012 12:47 pm

Re: RTMP/RTMPE Support

Is there a chance to have the windows build of ffmpeg use a shared librtmp library, so we can just replace the dll with any new versions when needed?
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Tue Jul 10, 2012 1:22 pm

Re: RTMP/RTMPE Support

not any time soon I think
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Sun Aug 26, 2012 12:07 pm

Re: RTMP/RTMPE Support

zip wrote:Right, it's probably missing some additional parameters (swfUrl etc). You should try to do the rtmpserv trick linked in the plugin dev guide - basically pretending your PC is the rtmp server, the player will send rtmp request to it and you'll be able to see the parameters thay are using.


Do you refer to the link http://stream-recorder.com/forum/tutori ... #post18142 ?

I tried that link and allways got sent back to the forums front page. However, I just did a search and found this page

http://stream-recorder.com/forum/tutori ... t6325.html

which works (and is obviously the thread you refer to). So maybe you should drop the "?p=18142#post18142" from the link in the .pdf

Ta
--
linux/Humax HDR-3000T
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Sun Aug 26, 2012 1:58 pm

Re: RTMP/RTMPE Support

Troubleshooting tip I discovered with regards to RTMP.
I am working on an ABC (Australia) iView plugin and I have commands that work to download a stream using RTMPDump. This command works to download the video (if you get a new auth string from the server before you run it).

  Code:
 rtmpdump --rtmp rtmp://cp53909.edgefcs.net:1935 --app 'ondemand?auth=daEc1aMaUa8dicCbYcKcmcSbda5cfaZb3b5-bqnQIz-8-mkt_xErqN&aifp=v001' --playpath mp4:flash/playback/_definst_/drwhoconfidential_06_07 --swfUrl http://www.abc.net.au/iview/images/iview.jpg --swfVfy 1 --swfsize 2122 --swfhash 96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37 -o /home/god/Videos/drwho_confid2.mp4


I then tried to use these commands in my plugin. But my plugin would report the following to the logs

  Code:
2012-08-24 08:07:29,473 DEBUG [FFMPEGWrapper] Invoking FFMPEG to retrieve media information for file: rtmp://cp53909.edgefcs.net:1935 app=ondemand?auth=daEdXdUcKbibqc1amcEcDdacDcwcidoana8-bqnQMC-8-snr_xFzoL&aifp=v001 playpath=mp4:flash/playback/_definst_/drwhoconfidential_06_07 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1 swfsize=2122 swfhash=96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37
2012-08-24 08:07:29,474 DEBUG [ProcessExecutor] Starting ffmpeg -i rtmp://cp53909.edgefcs.net:1935 app=ondemand?auth=daEdXdUcKbibqc1amcEcDdacDcwcidoana8-bqnQMC-8-snr_xFzoL&aifp=v001 playpath=mp4:flash/playback/_definst_/drwhoconfidential_06_07 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1 swfsize=2122 swfhash=96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37
2012-08-24 08:07:29,503 WARN  [FeedUpdaterThread] Failed to retrieve online item information for rtmp://cp53909.edgefcs.net:1935 app=ondemand?auth=daEdXdUcKbibqc1amcEcDdacDcwcidoana8-bqnQMC-8-snr_xFzoL&aifp=v001 playpath=mp4:flash/playback/_definst_/drwhoconfidential_06_07 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1 swfsize=2122 swfhash=96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37. It might not play.
java.io.IOException: org.serviio.library.local.metadata.extractor.InvalidMediaFormatException: Unknown video file type.


and if I ran the ffmpeg -i command from the logs it would just sit there and do nothing.

What I figured out is that I need a command of the form

rtmp://<server>:<port>/<app> playpath=<playpath>

The part of my rtmpdump that was the --app parameter goes after the port number prefixed with slash. And the playpath is specified with a playpath=parameter.
And I did not need any of the rest of the swfUrl, swfVfy, swfsize, swfhash stuff. (See edit below)

  Code:
ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEcnaKdQaocedWbKa1cycda5dyc9dbd4aZ-bqoINR-8-mkr_tEvpJ&aifp=v001 playpath=mp4:flash/playback/_definst_/drwhoconfidential_06_07"


returns something like

  Code:
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Metadata:
  duration              543.80
  moovPosition          40.00
  width                 640.00
  height                360.00
  videocodecid          avc1
  audiocodecid          mp4a
  avcprofile            100.00
  avclevel              41.00
  aacaot                2.00
  videoframerate        25.00
  audiosamplerate       48000.00
  audiochannels         2.00
tags:
  ©too                 Lavf52.39.2
trackinfo:
  length                13595.00
  timescale             25.00
  language              und
sampledescription:
  sampletype            avc1
  length                26101760.00
  timescale             48000.00
  language              und
sampledescription:
  sampletype            mp4a
  length                48942000.00
  timescale             90000.00
  language              und
sampledescription:
  length                26095616.00
  timescale             48000.00
  language              und
sampledescription:
Input #0, flv, from 'rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEcnaKdQaocedWbKa1cycda5dyc9dbd4aZ-bqoINR-8-mkr_tEvpJ&aifp=v001 playpath=mp4:flash/playback/_definst_/drwhoconfidential_06_07':
  Metadata:
    moovPosition    : 40
    avcprofile      : 100
    avclevel        : 41
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:09:03.79, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p, 640x360, 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
At least one output file must be specified



Which is success. We dont care about "At least one output file must be specified" because we are just getting the metadata with this command. And Ignoring SWFVerification request does not seem to matter.

Edit: Ignoring SWFVerification does matter. If this services does not complete SWFVerification the video stops playing after about a minute. See this thread for my battle with SWFVerification on iView.

I do need a swfUrl and a swfVfy (but not swfsize swfhash)
--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Fri May 24, 2013 12:35 am

Re: RTMP/RTMPE Support

For playing RTMP streams, Serviio uses ffmpeg containing the standard librtmp support. This does not include key features such as redirect which allows domain names instead of server ips, and other features supported by modified rtmpdump/librtmp such as that provided by KSV. In the absence of an ffmpeg compiled with the modified librtmp, I have successfully used an ffmpeg.bat to invoke a modified rtmpdump for rtmp streams and pipe the output to serviios ffmpeg for DLNA streaming. Given the advantages I will be making this a prerequisite for using my plugins once it has been fully tested.
<<

MAX_IQ

Serviio newbie

Posts: 15

Joined: Tue Feb 05, 2013 5:55 pm

Post Tue Oct 29, 2013 10:22 am

Re: RTMP/RTMPE Support

to compile your own ffmeg with the right rtmpdump and dependencies you can try this method

How to compile RTMPdump with mingw on windows
http://forum.videohelp.com/threads/358351-How-to-compile-RTMPdump-with-mingw-on-windows
Previous

Return to Plugin development

Who is online

Users browsing this forum: No registered users and 18 guests

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.