RTMPDump

RTMPDump ist ein kostenloses Softwareprojekt zur Entwicklung eines Toolkits für RTMP- Streams. Das Paket beinhaltet drei Programme rtmpdumprtmpsrvund rtmpsuck.

  • rtmpdumpWird verwendet, um mit RTMP-Servern wie normale Flash- Video-Player-Clients zu verbinden und den Stream aus dem Netzwerk zu erfassen und in einer Datei zu speichern. Mit ihm können Befehle unter Verwendung von Verbindungs- und Authentifizierungsinformationen konstruiert werden, die zuvor vom RTMP-Server erhalten wurden rtmpsrv.
  • rtmpsrv Wird verwendet, um Verbindungen und Bäche zu sehen
  • rtmpsuckKann auch verwendet werden, um Streams zu erfassen, kann aber verwendet werden, um Parameter zu erkennen, die mit rtmpdump [1] [2] verwendet werden sollen

Es wurde als „ein ausgezeichneter Nutzen für die Aufzeichnung von Streams, die TV und Video on Demand ausstrahlen“ [1] und wurde in der akademischen Forschung auf Video-Streaming-Rate Auswahl [3] und ein Entwicklungs-Media-Framework verwendet. [4] Der Dienstprogramm wurde wegen seiner geringen Größe und seiner Fähigkeit, sowohl RTMPE (verschlüsselte RTMP) als auch RTMPS (Secure RTMP) Digital Rights Management Technologien zu entschlüsseln , bekannt. [5] Adobe Systems Inc. behauptet, dass rtmpdumpin einem 2009 Digital Millennium Copyright Act Cease und Desist Bestellung gegen SourceForge erteilt, „Kann verwendet werden“, um Urheberrechte zu verletzen, ohne die tatsächliche Verwendung zu beanspruchen. [6] Ab 2009 hatte Sourceforge die Projektdateien entfernt und lieferte die Meldung „Das angegebene Projekt wurde als gelöscht markiert“. [5] Ab November 2009 wurde das Projekt als Git- Repository auf der Website von MPlayer , MplayerHQ.hu, gehostet. [7]

On-Demand-Streams

Beim Verhandeln einer Verbindung sendet und empfängt ein RTMP-Client einen Datenstrom, der mehrere Elemente enthält, als eine einzige Befehlszeile. Ein On-Demand-Stream umfasst in der Regel die folgenden Elemente: [8]

Für einen Limelight Server

  • -r rtmp: // <Serveradresse>
  • -a : Authentifizierungselemente (die Alternative --app kann stattdessen verwendet werden)
    • Typisch im Format –
      {application} As = {data} & av = {data} & te = {data} & mp = {data} & et = {data} & fmta-token = {data}
    • Anwendung: Eine Pfadadresse. Zum Beispiel a1414 / e3
    • Als: Zum Beispiel als = adobe-hmac-sha256
    • Av: Zum Beispiel av = 1
    • Te: Zum Beispiel te = connect
    • Mp: In der Regel zwei oder mehr kommagetrennte URL-Adressen für alternative Bitratenströme (MPEG-Format, MP3 oder MP4)
    • Et: Typischerweise ist eine Zehn-Zeichen-Zahl (numerisch)
    • Fmta-token: Typischerweise ist eine 64-Zeichen-Authentifizierung (auth) string [das heißt ein Authentifizierungstoken] (alphanumerisch)
  • -y : playpath (URL-Adresse des gewünschten Bitstroms, einer von denen in mp oben angegeben)
    • Typischerweise im Format mp3: {Pfad} / {Dateiname} .mp3 oder mp4: {Pfad} / {Dateiname} .mp4
  • -o : Ausgabe Dateiname

Das Vorstehende sind typischerweise die einzigen Elemente (oder „Switches“), die für eine Verbindung wesentlich sind, wenn weder Tunneling noch Encryption vom Server verwendet werden. Obwohl andere Elemente in der Praxis angetroffen werden können, sind sie normalerweise nicht wesentlich.

Folglich werden die folgenden Elemente typischerweise von der Client-Software [9] -Anwendung als eine einzige Befehlszeile gesendet –

Rtmpdump -r rtmp: //xxxxxxxx.fcod.llnwd.net
 - ein Pfad? Als = data & av = data & te = data & mp = data & et = data & fmta-token = data
 -y mp4: URL / Dateiname .mp4 -o file_mp4.flv

Die Teile, die das -a (oder --app ) -Element enthalten, müssen in die oben gezeigte Reihenfolge eingebaut werden, da die Reihenfolge, in der ihre Teile vom RTMP-Server empfangen werden, kritisch ist.

Die Authentifizierungszeichenfolgen ( et = und fmta-token = ) enthalten Sitzungsinformationen, so dass sich jede frische Verbindung an den Server ändert (was in der Praxis typischerweise bedeutet, dass sie ablaufen, wenn eine neue Sitzung begonnen wird, nicht buchstäblich bei jedem Versuch, fortzufahren Eine Verbindung), aber die anderen Elemente werden normalerweise nicht von Session zu Session variieren.

Für einen Akamai-Server

Die Befehlszeile ist typischerweise wie oben, außer dass das Element -a (oder --app ) die folgenden Teile enthält –

  • Auth: Typischerweise ist eine 62-stellige Authentifizierung (auth) string [dh ein Authentifizierungstoken] (alphanumerisch)
  • Aifp: Zum Beispiel aifp = v001
  • Slist: Normalerweise die URL-Adresse des Streams

Folglich werden die folgenden Elemente typischerweise von der Client-Software-Anwendung [9] als eine einzige Befehlszeile gesendet –

Program.exe -r rtmp: //xxxxxxx.edgefcs.net
 -a ondemand? Auth = data & aifp = data & slist = data
 -y mp3: URL / Dateiname -o file_mp3.flv

Die Teile, die das -a (oder --app ) -Element enthalten, müssen in die oben gezeigte Reihenfolge eingebaut werden, da die Reihenfolge, in der ihre Teile vom RTMP-Server empfangen werden, kritisch ist.

Der Authentifizierungsstring ( auth = ) enthält Sitzungsinformationen, also ändert sich bei jeder frischen Verbindung, die an den Server gemacht wird (in der Regel, wenn eine neue Sitzung begonnen wird, zB der Computer neu gestartet wird, nicht buchstäblich bei jedem Versuch, eine Verbindung fortzusetzen). Die anderen Teile werden normalerweise nicht von Session zu Session variieren.

Hinweis – Das obige beschreibt das vereinfachte Formular, wobei der Stream zuerst auf der Festplatte des Benutzers gespeichert wird und danach in einem Mediaplayer abgespielt wird, der eine FLV-codierte Datei (H.263 oder H.264-Codierung) abspielen kann GOM Spieler . Wenn es gewünscht wird, stattdessen den Stream direkt vom RTMP-Server zu spielen, so dass sofortige Wiedergabe, zusätzliche Elemente in der Kommandozeile benötigt werden, einschließlich –

-f : Hiermit wird die Version des auf dem Computer des Benutzers installierten Flash-Plugins angegeben. Zum Beispiel -f "WIN 9,0,260,0" würde zeigen, der Benutzer hat die Windows-Version von Flash Player 9, Release 260.

-W : Das Kapital W Befehl. Dies ist die URL-Adresse des SWF-Spielers, mit dem der Stream gespielt wird, wie durch die Webseite angegeben, aus der der Stream abgeleitet wird. Zum Beispiel, Pfad / 9player.swf? Revision = 18269_21576 .

Live Streams

Die Befehlszeile für einen Akamai-Server ist typischerweise wie für einen Akamai-On-Demand-Stream. Aber das -a (oder --app ) Element enthält die folgenden Teile

  • Auth: Typischerweise ist eine 62-stellige Authentifizierung (auth) string [dh ein Authentifizierungstoken] (alphanumerisch)
  • Aifp: Zum Beispiel aifp = v001
  • Slist: Typischerweise die URL-Adresse des Streams im Format xxxxx_x_ @ xxxx (zB Radio_7_Int @ 6463 ); Oder mehr als eine URL, wenn mehr als eine Bitrate verfügbar ist [siehe Hinweis]

Hinweis – Wenn der Slist-String zwei oder mehrere alternative Streams enthält (dh eine Auswahl von Streams bei alternativen Bitraten anbietet), gibt das Playpath-Element ( --playpath oder -y ) das vom Benutzer gewählte, als Identifier-Item an.

Daher wird die folgende Sequenz typischerweise von der Client-Software-Anwendung [9] als eine einzige Befehlszeile gesendet –

Rtmpdump.exe --live -r rtmp: //xxxxxxx.live.edgefcs.net
 - a live? Auth = data & aifp = data & slist = data
 --playpath {identifier}? Auth = data & aifp = data & slist = data -o output.flv

Alle diese Artikel sind obligatorisch und müssen in der oben angegebenen Reihenfolge enthalten sein. Die Saite nach dem (Fragezeichen) sowohl in der -a als auch – playpath Elemente werden in der Regel identisch sein. Der Identifikationsgegenstand wird typischerweise ein Teilsatz der slist-Daten sein (falls dieser eine Wahl bietet), sonst sind sie auch identisch. Das Element -o kann einen vom Benutzer gewählten Ausgabedateinamen angeben.

Die Angabe des vollständigen Spielpfades ist unnötig, da dieses Element von der Client-Anwendung im Speicher aufgebaut wird. Typischerweise nimmt es im Gedächtnis die folgende Form an –

-y xxxxx_x_ @ xxxx? Auth = [62 Zeichen] & aifp = v001 & slist = xxxxx_x_ @ xxxx, xxxxx_x_ @ xxxx

Referenzen

  1. ^ Springe bis zu:b „Lernen rtmpdump durch Beispiele“ . Das PC Linux OS Magazin. Band 51. April 2011.
  2. Jump up^ „Verwenden Sie rtmpdump?“ . Stream-recorder.com
  3. Springe auf^ Huang, Te-Yuan; Handigol, Nikhil; Heller, Brandon; McKeown, Nick; Johari, Ramesh (November 2012). „Verwirrt, schüchtern und instabil: Die Auswahl einer Video-Streaming-Rate ist hart“ (PDF) . ACM Internet Measurement Conference (IMC) . Boston. (Autoren-Seite)
  4. Jump up^ Chen, Hsiao-ting (陳孝庭) (13. Juli 2011). „Die Entwicklung von effizient leichten Media Framework für Media Editor und Live Video Streaming“. Taiwan: Nationale Zentrale Universität MS-Arbeit
  5. ^ Springe zu:b Bär, Hans (3. Dezember 2009). „Geschützte Streaming und Konvertierung für die TV-Wiedergabe – (Geschützte Streaming und Konvertierung für TV-Wiedergabe)“ . Auf Deutsch. PC Magazin . P. 3.
  6. Jump up^ „Adobe behauptet rtmpdump“ kann verwendet werden „zu verletzen“. ChillingEffects.org 8. Mai 2009
  7. Jump up^ Compn (1. November 2009). „2009-11-01, Sonntag :: Updates“. MplayerHQ Nachrichten. „MPlayer ist auch Gastgeber der rtmpdump-Projekt.Rtmpdumpist ein Programm zum Download rtmp: // Streams.Es wurde zuvor auf SourceForge gehostet.“
  8. Jump up^ RTMPdump Entwickler Seite
  9. ^ Springe bis zu:c RTMPdump Client Software

Write a Comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert