- Christian S
- Medlem ●
- Trollhättan
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/_defin...
Jag känner inte till filändelsen mer än att det är flash-video från hemsidan.
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/_defin... -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
Jo, knappar jag in detta kommandot i Terminal:
rtmpdump -r rtmp://fl1.c00928.cdn.qbrick.com/00928/_defin... -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.
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.
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.
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?
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.
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?
Vad är det som inte fungerar med rtmp? Bättre felbeskrivning önskas!
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
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.
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/_defin... -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/_defi...'
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/_defi... -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
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
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...
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/_defi... -o -fasad.flv
-bash: ./rtmpdump: No such file or directory
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
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?
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.).
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.