Hämta videoklipp från en rtmp-server

Tråden skapades och har fått 71 svar. Det senaste inlägget skrevs .

Finns det något bra program för att hämta hem videoklipp till hårddisken från en rtmp-server? VLC kraschar hela tiden och rtmpdump fungerar inget vidare i Terminal. Det kan vara DFU-fel också men jag tvivlar. Terminal känner inte igen kommandot
rtmpdump -r "rtmp://host/dir/file.flv" -o filename.flv

Nix, fungerar inte. Adressen ser t.ex. ut så här
rtmp://fl1.c00928.cdn.qbrick.com/00928/_definst_/kluster/20081205/oa_43-1968-1216-teknisktmagasin

Jag känner inte till filändelsen mer än att det är flash-video från hemsidan.

  • Medlem
  • Sollentuna
  • 2009-11-24 20:14
Ursprungligen av Christian S:

Finns det något bra program för att hämta hem videoklipp till hårddisken från en rtmp-server? VLC kraschar hela tiden och rtmpdump fungerar inget vidare i Terminal. Det kan vara DFU-fel också men jag tvivlar. Terminal känner inte igen kommandot
rtmpdump -r "rtmp://host/dir/file.flv" -o filename.flv

Hur menar du att rtmpdump "fungerar inget vidare"? Felmeddelanden?

Jo, knappar jag in detta kommandot i Terminal:
rtmpdump -r rtmp://fl1.c00928.cdn.qbrick.com/00928/_definst_/kluster/20081205/oa_43-1968-1216-teknisktmagasin" -o tm681216.flv

Så får jag detta till svar:
-bash: rtmpdump: command not found

Jag har gått till mappen rtmpdump-1.9 i terminal. Tittar jag i rtmpdump-mappen i Finder finns rtmpdump.cpp

  • Medlem
  • Sollentuna
  • 2009-11-24 23:13
Ursprungligen av Christian S:

Jo, knappar jag in detta kommandot i Terminal:
rtmpdump -r rtmp://fl1.c00928.cdn.qbrick.com/00928/_definst_/kluster/20081205/oa_43-1968-1216-teknisktmagasin" -o tm681216.flv

Så får jag detta till svar:
-bash: rtmpdump: command not found

Jag har gått till mappen rtmpdump-1.9 i terminal. Tittar jag i rtmpdump-mappen i Finder finns rtmpdump.cpp

Du, har du läst README-filen? Filen som du refererar till är en källkodsfil skriven i C++. Den går inte att köra rakt av. Den måste kompileras. Tråkigt nog så går det inte att bygga 1.9 och jag hittar inget med google. Och du måste också ha $PATH satt rätt så att den letar i mappen. Annars hittar den inte binären.

Jorå: [rtmpdump] r56 - streams.cpp

Senast redigerat 2009-11-24 23:25

Ja, och jag blir definitivt inte klokare av det. Programmering i Terminal är jag helt okunnig i.

Jag hade gärna hoppats på något GUI-program men det verkar inte finnas till OS X.

  • Medlem
  • Sollentuna
  • 2009-11-24 23:41

Det handlar inte om programmering i Terminal. För det finns inte... Du ska bara bygga applikationen och sedan köra den. Om du hade läst lite mer på sidan om rtmpdump så tycker jag nog att det hade framgått. Och lika tydligt att det inte har ett GUI utan är ett CLI (Command Line Interpreter) program.

Men jag kan glädja dig med att det fungerar bra. Byt ut -arch i386 till -arch x86_64 så kör programmet i 64-bitarsläge. Du kan också passa på att ta bort -arch ppc om du kör på en Intel-maskin. Din långa kommandorad fungerar jättebra och man får ett underbart torrt inslag med Hr Bergsten om färg-tv...

Men vill du skippa allt detta så kan du plocka hem programmet via Darwinports. Googla lite så hittar du. Dock finns det inga garantier för att du får den senaste versionen.

  • Medlem
  • Gävle
  • 2009-11-25 01:35

The MacPorts Project -- Home heter det nuförtiden
Jag älskar det!

Jag har hämtat hem MacPort Projects och ska sätta mig in i hur det funkar...

Uppdatering: Jag har ändrat lite i rtmpdump men den funkar fortfarande inte.
Måste X11 vara installerat?

Senast redigerat 2009-11-25 10:50
  • Medlem
  • Sollentuna
  • 2009-11-25 11:07
Ursprungligen av Christian S:

Uppdatering: Jag har ändrat lite i rtmpdump men den funkar fortfarande inte. Måste X11 vara installerat?

Kan du säga mer detaljerat vad du ändrat? Felmeddelanden (igen). Jag gjorde två ändringar:

* i Makefile gjorde jag ändringarna med -arch som beskrivits ovan.
* i streams.cpp gör du tre ändringar enligt länken ovan.

Därefter bygger du. Du kommer att få en hel del varningar, men jag har inte lagt ned någon möda på att analysera dom. Nu kan du köra programmet. Glöm inte bort att skriva ./rtmpdump om du inte har uppdaterat din $PATH.

Och nej, X11 har inget med detta att göra.

Var i streams.cpp ska jag klistra in det från länken ovan? r56 är det rad (row) 56?

Testa CocoaJT. Har inte använt det på några år, men när jag provade det sist så fungerade det bra. Finns ett menyalternativ som heter "Record stream" eller något liknande.

Download CocoaJT for Mac - Cocoa framework for TF1 & France2 news broadcasts. MacUpdate Mac Libraries Software Downloads

Fungerar inte med rtmp
Trots ändringarna enl. beskrivning i rtmpdump.cpp händer det absolut ingenting.

Vad gör jag för fel och hur går jag vidare för jag vill att detta ska funka?

Senast redigerat 2009-11-28 19:35
  • Medlem
  • Sollentuna
  • 2009-11-29 10:57
Ursprungligen av Christian S:

Fungerar inte med rtmp

Vad är det som inte fungerar med rtmp? Bättre felbeskrivning önskas!

Ursprungligen av Christian S:

Trots ändringarna enl. beskrivning i rtmpdump.cpp händer det absolut ingenting.

Men det står väl ingenstans att du ska ändra i rtmpdump.cpp? Det är i streams.cpp som ändringarna ska in. Liten quick-n-dirty-skola:

  • r56 står i utvecklarvärlden för revision56.

  • filen som jag länkar till är en jämförelse mellan två versioner av samma fil.

  • --- och +++ indikerar skillnader i gamla respektive nya filen.

  • oftast står - och + tillsammans -> ändring

  • - ensam betyder rad raderad

  • + ensam betyder tillagd rad

Ursprungligen av Christian S:

Vad gör jag för fel och hur går jag vidare för jag vill att detta ska funka?

Då du inte har beskrivit vad du gjort är det ännu svårare att berätta vad du gör för fel... Har du öht byggt binären? Det vore bra med en skärmdump av utskrifterna från när du kör programmet.

VLC fungerar inte. Programmet kraschar när det försöker kontakta servern. Och det är ändå den senaste versionen av VLC jag har.

Jo, beskrivning följer här: Jag sökte rätt på aktuella rader i streams.cpp och klistrade in/över helt enkelt det gamla med det nya som finns här streams.cpp

Jag har följt de beskrivningar som finns men jag har kört fast. Knappar jag in kommandot
rtmpdump -r "rtmp://host/dir/file.flv" -o filename.flv
i Terminal händer ingenting. Det blir bara en blank rad. Filename ersätts med adressen.

  • Medlem
  • Sollentuna
  • 2009-12-05 20:31

OK, vi fortsätter i vår kamp för ett fungerande program... Då vill jag att du fixar en skärmdump som typiskt ser ut så här:

<hämtar hem rtmpdump-1.9e.tgz>
<ändrar i Makefile för --arch>
bash-3.2$ make osx
<massa utskrifter>
bash-3.2$ ./rtmpdump -r rtmp://fl1.c00928.cdn.qbrick.com/00928/_definst_/kluster/20081205/oa_43-1968-1216-teknisktmagasin -o tm681216.flv 
RTMPDump v1.9
(c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
Starting download at: 0.000 kB
Metadata:                  
  duration              1553
  width                 624
  height                464
  framerate             25
  canSeekToEnd          TRUE
176450.542 kB / 1551.36 sec (99.9%)
Download complete
bash-3.2$

Hur ser det ut för dig?

Jo, en sak till: skriv inte "händer ingenting." och sedan "det blir bara en rad". Dom två sakerna motsäger ju varandra. För bevisligen blir det en rad. Alltså någonting. Och vad menar du med "Filename ersätts med adressen"? Är det programmet som ersätter eller är det du själv som gör det? En himla skillnad om du frågar mig. Bäst av allt är ändå att du gör en skärmdump.

Jag har släppt rtmpdump för det är för meckigt för att jag ska få det att funka. Men jag har hittat ett annat program som heter flazr 0.5. Det får jag inte att funka helt och hållet. Kan det bero på att jag inte lagt in rätt parametrar i scriptet?

Hur får jag kört scriptet i teriminal? Falzr 0.7 RC2 förstår jag inte hur jag ska ändra i scriptet.

Scriptet ser ut så här:
import com.flazr.*

def host = 'www.svt.se'
def app = 'video'
def playParam = 'rtmp://fl11.c90906.cdn.qbrick.com/90906/_definst_/kluster/20091109/OA-1985-0329-DDR'
def saveAs = 'ddr.flv'

def session = new RtmpSession(host, 1935, app, playParam, saveAs)

RtmpClient.connect session

Jag lyfter tråden lite. Ånyo har jag försökt att sätta mig in i rtmpdump men inte lyckats. Jag fick tag på en version anpassad för OS X 10.6. Jag hoppas den även passar för 10.5.8. Det är version 2.2d och den är en kille som har "skräddarsytt" programmet.

Enligt instruktionerna ska det räcka med att skriva i terminal:
rtmpdump -r url -o -filnamn.flv

t.ex. ./ rtmpdump -r rtmp://fl11.c91005.cdn.qbrick.com/91005/_definst_/kluster/20100623/PG-1130018-001A-ARKIVETREFLEX-01-mp4-e-v1.mp4 -o -reflex1.mp4

Terminal protesterar: -bash: rtmpdump: command not found

Även om jag ställer mig i mappen rtmpdump-2.2d och försöker utföra samma kommando, får jag samma svar tillbaka.

Vad är det för kommando som felar? Vad gör jag fel?

2.2d med "byggen" för OS X kan hämtas här
http://forboden.com/coding/rtmpdump-2.2d-PPC-Build-PolarSSL.zip
Uppdatering
http://forboden.com/coding/rtmpdump-2.2d-PPC-Build-PolarSSL.zip

  • Medlem
  • Sollentuna
  • 2010-07-17 18:14

Se till att du hämtar för rätt plattform: PPC eller 32/64bit Intel. F.ö. är uppdateringen samma länk som den första...

  • Medlem
  • Sollentuna
  • 2010-07-17 18:09

Du har ett mellanslag mellan ./ och rtmpdump. Ta bort det och du ska se att det funkar... I *nix spelar det (som regel - beror på $PATH) ingen roll var du står när du kör kommandot.

Aha! Det var där felet låg. Nu fungerar det! Jättestort tack! Nu är jag så nöjd!

Glädjen var kortvarig. Helt plötsligt fungerar inte kommandot Jag tog bort mellanslaget, det fungerade men nu helt plötsligt fungerar det inte.
Programmet finns definitivt i datorn!

Får detta meddelandet:

./rtmpdump -r rtmp://fl11.c90906.cdn.qbrick.com/90906/_definst_/kluster/20091210/oa-1963-1103-fasad -o -fasad.flv
-bash: ./rtmpdump: No such file or directory

Senast redigerat 2010-07-17 22:13
  • Medlem
  • Sollentuna
  • 2010-07-18 11:47

Du står i en annan katalog och $PATH pekar inte ut den katalog där programmet finns. Och skilj på "fungerar inte" (=programmet finns men beter sig felaktigt) och "hittas inte" (=No such file or directory). Bash försöker inte föra dig bakom ljuset utan skriver precis vad som händer. Det är dags att du läser en bok och grundläggande *NIX och hur shellet fungerar...

Nu fungerar det iaf med er hjälp

  • Medlem
  • Sollentuna
  • 2010-08-24 20:31
Ursprungligen av Christian S:

Nu fungerar det iaf med er hjälp

Ingen är mer lycklig än vi!

Jag lyfter tråden igen för jag har lite trubbel med TV4 Play. För att komma förbi ett problem måste jag använda v.2.1.

Med 2.2d och senare blir det följande felmeddelande:

"rtmpdump-2.2d Christian$ ./rtmpdump -W http://www.tv4play.se/flash/tv4playflashlets.swf -r rtmpe://cp70051.edgefcs.net/tv4ondemand -y mp4:/mp4root/2011-09-24/20110924T221350_Nyheterna2200_2071049_T6MP48_.mp4 -o Tv4nyheterna 110924.flv
RTMPDump v2.2d
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
WARNING: HandShake: Type mismatch: client sent 6, server answered 9
WARNING: HandShake: Server not genuine Adobe!
"

Och när jag försöker med samma procedur i v2.1:

"rtmpdump-2.1c Christian$ ./rtmpdump -W http://www.tv4play.se/flash/tv4playflashlets.swf -r rtmpe://cp70051.edgefcs.net/tv4ondemand -y mp4:/mp4root/2011-09-24/20110924T221350_Nyheterna2200_2071049_T6MP48_.mp4 -o Tv4nyheterna 110924.flv
-bash: ./rtmpdump: No such file or directory"

Varför svarar inte 2.1 men 2.2d?

  • Skribent
  • Sollentuna
  • 2011-10-04 06:18
Ursprungligen av Christian S:

-bash: ./rtmpdump: No such file or directory"

Den hittar inte ens kommandot "rtmpdump". Kolla så att du ligger i rätt katalog och att kommandot verkligen heter så (skriv de första bokstäverna och tryck tab för att autokomplettera t.ex.).

  • Medlem
  • Sollentuna
  • 2011-10-04 10:21
Ursprungligen av Christian S:

-bash: ./rtmpdump: No such file or directory"

Inlägg #20 och #24 tidigare i tråden handlar om precis samma sak - du måste ha koll på var dina binärer finns och hur du refererar till dom: absolut eller via $PATH.

Bevaka tråden