Page 1 of 1
Nagrywanie strumienia http za pomocą VLC
Posted: 2013-05-26, 08:23
by anonim
Na początek odnajdujemy stream
http czy to na naszej stronie czy innej nie ma znaczenia ważne żeby działał. Następnie w programie VLC włączamy
Plik>Strumieniuj..
[center]

[/center]
Wybieramy zakładkę sieć i wklejamy link do naszego odnalezionego wcześniej źródła.
Ważną rzeczą tutaj może okazać się
buforowanie które ustawiamy po zaznaczeniu ptaszkiem
Pokaż więcej opcji, wyrażone jest w milisekundach, standardowo 1000ms czyli 1 sekunda.
[center]

[/center]
Dlaczego to może okazać się ważne ? Dzięki cachowaniu(buforowaniu) możemy zniwelować niepożądane zacinanie się obrazu, powodowane chwilową niestabilnością łącza po stronie klienta lub serwera.
Klikamy Strumieniuj i wybieramy cel, w naszym przypadku jest to plik, gdyż cały materiał chcemy zapisać na dysku twardym, określamy położenie pliku który dowolnie nazywamy. Do wyboru mamy kilka rozszerzeń, może być to np.
.mp4.
[center]

[/center]
Transkodowanie nie jest konieczne w tym przypadku, gdyż często jakość steam'u pozostawia wiele do życzenia a lepszą jakość trudno byłoby uzyskać i tylko niepotrzebnie zużywalibyśmy zasoby naszego komputera.
Tutorial w postaci filmu wideo:
http://www.youtube.com/watch?v=9SZNyvunsfo
Posted: 2014-01-20, 22:17
by anonim
małe pytanko, co może być przyczyną braku dźwięku w pliku wynikowym?
Posted: 2014-01-20, 22:25
by anonim
pszem, prawdopodobnie źle wybrany kodek.
Posted: 2014-01-21, 10:44
by anonim
Coś faktycznie nie tak z kodekami muszę mieć na kompie, dziś identycznie postepując udało mi się zgrać stream na laptopie,
pozdrawiam
Posted: 2014-05-30, 14:36
by anonim
Witam mam problem po jakims czasie [ czasem 2h czasem 8h ]przestaje streamowac
RTMP_ReadPacket, failed to read RTMP packet header
no i po tym musze zamknac vlc i odpalic ponownie i znowu wszystko dziala
jest jakis sposob zeby vlc robil reconnect czy cos bo to meczace jest logowac sie na serwer i zamykac odpalac vlc
Posted: 2014-05-31, 07:11
by anonim
Len1o, chodzi o system windows ?
Posted: 2014-05-31, 12:12
by anonim
system centos 6
da sie zrobic tak samo z ffmpeg jak z vlc ? zeby streamowac przez http
Posted: 2014-05-31, 13:27
by anonim
Trzeba byłoby uruchomić ffserver, ale nie mam doświadczenia.
Jeżeli chodzi o vlc trzeba stworzyć prostą pętle w bashu może php lub innym języku która po błędzie będzie uruchamiać stream od nowa i dodać na końcu komendy strumieniującej w programie vlc
co powinno zamknąć program po błędzie lub zakończeniu a nie czuwać na reakcje usera.
Jak będziesz nadal miał problemu to utwórz nowy wątek odpowiednio nazwij temat i opisz problem

Posted: 2014-05-31, 15:46
by anonim
Juz niebede robil nowego watku bo juz wszystko napisales uzywam vlc w gui bo niewiem jaka komenda to zrobic.
Pytanko pomogl bys zrobic taki skrypt zeby po bledzie uruchamial sie ponownie.
Posted: 2014-05-31, 17:58
by anonim
Można wykorzystać przykłady z tego wątku
http://stream-recorder.pl/viewtopic.php?p=7831#7831
Nie znam twojego źródła bo nic o nim nie wspomniałeś ale powiedzmy, że chcemy streamować na porcie 8085 (tzn
http://naszeip:8085/)
Code: Select all
#!/bin/bash
until 1=1; do
cvlc 'plik.avi' --sout='#transcode {vcodec=h264,vb=512,scale=1,acodec=mp3,ab=64,channels=2,samplerate=22050}:http{mux=ffmpeg {mux=flv},dst=:8085/}' --sout-all --sout-keep vlc://quit
done
Komenda widoczna również tutaj, gdyż znacznik przekształca
http://wklej.org/hash/b51fe95ba5a/txt/
Jak dobrze utworzyć komende vlc ? Wcześniej korzystając z gui przed rozpoczęciem nadawania pojawia nam się okno, dzięki niemu wybieramy interesujące nas informacje i tworzymy odpowiednią składnię.
[center]

[/center]
Pamiętajmy, aby nie wybierać podglądu podczas nadawania, gdyż nie umożliwia tego konsolowa edycja vlc (cvlc).
Oczywiście piszę to tylko czysto teoretycznie trzeba jeszcze potestować i sprawdzić.
Posted: 2014-05-31, 18:18
by anonim
dzięki komenda dziala :D
stream działa troche tnie ale to poprawie ale dostaje error
Code: Select all
Using network protocols without global network initialization. Please use avformat_network_init(), this will become mandatory later.
Metadata:
Server NGINX RTMP (github.com/arut/nginx-rtmp-module)
width 640.00
height 360.00
displayWidth 640.00
displayHeight 360.00
duration 0.00
framerate 1000.00
fps 1000.00
videodatarate 500.00
videocodecid 7.00
audiodatarate 96.00
audiocodecid 10.00
profile
level
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.0
x264 [info]: final ratefactor: 28.25
[libmp3lame @ 0xb6e0adc0] Channel layout not specified
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.0
[flv @ 0xb6c0b120] Codec for stream 0 does not use global headers but container format requires global headers
[flv @ 0xb6c0b120] Codec for stream 1 does not use global headers but container format requires global headers
[flv @ 0xb6c0b120] Packets are not in the proper order with respect to DTS
[0xb6c04198] avformat mux error: could not write frame (pts: 120000, dts: 40000) (pkt pts: 120, dts: 40)
[flv @ 0xb6c0b120] Packets are not in the proper order with respect to DTS
[0xb6c04198] avformat mux error: could not write frame (pts: 74116, dts: 74116) (pkt pts: 74, dts: 74)
i czy ten error to cos powaznego
Code: Select all
packetizer_h264 decoder error: Broken frame : size 21823530 is too big
Posted: 2014-05-31, 20:28
by anonim
Raczej nie, po prostu VLC zgubił klatke.