Zanonimizowana wersja forum tylko do odczytu

Nagrywanie strumienia http za pomocą VLC

Pobieranie, nagrywanie, kopiowanie, transkodowanie strumienia audio/wideo.
Post Reply
anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Nagrywanie strumienia http za pomocą VLC

Post 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]Image [/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]Image[/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]Image [/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

anonim
Posts: 2
Joined: 2013-12-30, 14:58

Post by anonim »

małe pytanko, co może być przyczyną braku dźwięku w pliku wynikowym?

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Post by anonim »

pszem, prawdopodobnie źle wybrany kodek.

anonim
Posts: 2
Joined: 2013-12-30, 14:58

Post 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

anonim
Bywalec
Posts: 211
Joined: 2014-05-21, 00:38

Post 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

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Post by anonim »

Len1o, chodzi o system windows ?

anonim
Bywalec
Posts: 211
Joined: 2014-05-21, 00:38

Post by anonim »

system centos 6

da sie zrobic tak samo z ffmpeg jak z vlc ? zeby streamowac przez http

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Post 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

Code: Select all

vlc:quit

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 ;-)

anonim
Bywalec
Posts: 211
Joined: 2014-05-21, 00:38

Post 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.

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Post 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]Image[/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ć.

anonim
Bywalec
Posts: 211
Joined: 2014-05-21, 00:38

Post 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

anonim
Weteran
Posts: 826
Joined: 2013-05-04, 15:44

Post by anonim »

Raczej nie, po prostu VLC zgubił klatke.

Post Reply