Zanonimizowana wersja forum tylko do odczytu
Restreaming za pomocą ffmpeg
Restreaming za pomocą ffmpeg
Witam.
W ostatnim czasie zainteresowałem się streamingiem i restreamingiem. Chciałbym się dowiedzieć czy istnieje możliwość restreamingu za pomocą ffmpeg kanałów z weeb.tv.
Mam vps z zainstalowanym ffmpeg lecz nie wiem jak dokonać restreamingu jeżeli mógłby ktoś mi pomóc lub nakierować byłbym wdzięczny.
W ostatnim czasie zainteresowałem się streamingiem i restreamingiem. Chciałbym się dowiedzieć czy istnieje możliwość restreamingu za pomocą ffmpeg kanałów z weeb.tv.
Mam vps z zainstalowanym ffmpeg lecz nie wiem jak dokonać restreamingu jeżeli mógłby ktoś mi pomóc lub nakierować byłbym wdzięczny.
Jest to jak najbardziej możliwe, jednak wymaga dodatkowo rtmpdump'a z patchem do weebtv - oczywiście mówimy tu o VPS z zainstalowanym systemem linux.
Instalacja rtmpdump tutaj
viewtopic.php?t=122
Potem zapoznaj się z tym tematem
viewtopic.php?t=121
Aktualne wersje WeebTV.php i Weeb.TV.xml tutaj
https://github.com/K-S-V/Scripts/blob/master/WeebTV.php
https://github.com/K-S-V/Scripts/blob/master/WeebTV.xml
jeżeli chcesz bezpośrednio przez ffmpeg bez wykorzystania vlc
linijkę
zamien na
Temat poruszany kilkakrotnie na forum, nawet była gotowa paczka jeżeli chodzi o Windows.
Instalacja rtmpdump tutaj
viewtopic.php?t=122
Potem zapoznaj się z tym tematem
viewtopic.php?t=121
Aktualne wersje WeebTV.php i Weeb.TV.xml tutaj
https://github.com/K-S-V/Scripts/blob/master/WeebTV.php
https://github.com/K-S-V/Scripts/blob/master/WeebTV.xml
jeżeli chcesz bezpośrednio przez ffmpeg bez wykorzystania vlc
linijkę
Code: Select all
$command = $basecmd . " | \"$vlc\" --meta-title \"$filename\" -";
zamien na
Code: Select all
$command = $basecmd . " | "ffmpeg -i - -acodec copy -vcodec copy -f flv rtmp://wychodzące-z-jakies-strony";
Temat poruszany kilkakrotnie na forum, nawet była gotowa paczka jeżeli chodzi o Windows.
Dzięki wielkie.
Zrobiłem wszystko tak jak opisane jest w tutorialach czyli zpachowałem rtmpdump i pobrałem pliki od K-S-V oraz edytował plik WeebTV.php tak aby można było restreamować kanały za pomocą ffmpeg lecz wywala mi błąd. Niby wszystko poprawnie idzie bo pobiera token i autoryzacja przebiega pomyślnie lecz na koniec i tak Wyskakuje ERROR. Gdyby ktoś mógł pomóc lub nakierować o co robię nie tak będę wdzięczny.
Zrobiłem wszystko tak jak opisane jest w tutorialach czyli zpachowałem rtmpdump i pobrałem pliki od K-S-V oraz edytował plik WeebTV.php tak aby można było restreamować kanały za pomocą ffmpeg lecz wywala mi błąd. Niby wszystko poprawnie idzie bo pobiera token i autoryzacja przebiega pomyślnie lecz na koniec i tak Wyskakuje ERROR. Gdyby ktoś mógł pomóc lub nakierować o co robię nie tak będę wdzięczny.
Code: Select all
Retrieving info....
RTMP Url: rtmp://37.48.65.12/channel/60
Playpath: liveHI
Token : 85720248
Premium : Yes
Command : rtmpdump -r "rtmp://37.48.65.12/channel/60/liveHI" -W "http://static.weeb.tv/player.swf" --weeb "DANE KONTA TUTAJ" --live | ffmpeg -i -acodec copy -vcodec copy -f flv rtmp://rtmp.goodcast.pw:1935/liverepeater/134621
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
WARNING: You haven't specified an output file (-o filename), using stdout
Connecting ...
ffmpeg version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 5 2014 00:40:37 with gcc 4.4.5
configuration: --enable-gpl --enable-nonfree --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb
libavutil 50. 43. 0 / 50. 43. 0
libavcodec 52.123. 0 / 52.123. 0
libavformat 52.111. 0 / 52.111. 0
libavdevice 52. 5. 0 / 52. 5. 0
libavfilter 1. 80. 0 / 1. 80. 0
libswscale 0. 14. 1 / 0. 14. 1
libpostproc 51. 2. 0 / 51. 2. 0
-acodec: No such file or directory
INFO: Connected...
INFO: Token.authorization
INFO: User.hasAccess
INFO: Weeb.tv authentication successful
Starting Live Stream
INFO: Metadata:
INFO: presetname Custom
INFO: creationdate Fri Dec 13 20:11:15 2013
INFO: videodevice Decklink Video Capture
INFO: framerate 25.00
INFO: width 1280.00
INFO: height 720.00
INFO: videocodecid avc1
INFO: videodatarate 1800.00
INFO: avclevel 51.00
INFO: avcprofile 77.00
INFO: videokeyframe_frequency5.00
INFO: audiodevice Decklink Audio Capture
INFO: audiosamplerate 48000.00
INFO: audiochannels 2.00
INFO: audioinputvolume 75.00
INFO: audiocodecid mp4a
INFO: audiodatarate 96.00
0.621 kB / 0.00 sec
Caught signal: 13, cleaning up, just a second...
ERROR: Download: Failed writing, exiting!
Dostajesz błąd
Na pierwszy rzut oka juz widac że, źle skopiowaleś, powinno być:
Code: Select all
-acodec: No such file or directory
Na pierwszy rzut oka juz widac że, źle skopiowaleś, powinno być:
Code: Select all
ffmpeg -i - -acodec copy -vcodec copy -f flv rtmp://..
W sumie mam jeszcze jedno zasadnicze pytanie dotyczące pliku WeebTV.php. Próbowałem go edytować w taki sposób aby podczas uruchomienia wyświetlił mi listę z jednym kanałem np TVN pod numerem jeden lecz moje próby nie przyniosły żadnych rezultatów z powodu wyskakującego błędu preg_match_all po zmianie ciągu odpowiadającego za pobieranie listy kanałów. Czy mógłby ktoś mi pomóc? Jak się chyba nie mylę to jest ciąg kodu odpowiadający za pobieranie listy, Jak go zmodyfikować aby pobrał tylko jeden kanał o danej nazwie np TVN jak już wcześniej mówiłem.
Code: Select all
$html = GetHtmlResponse($cc, "http://weeb.tv/channels/live");
preg_match('/<ul class="channels">(.*?)<\/ul>/is', $html, $html);
$html = $html[1];
preg_match_all('/<fieldset[^>]+>(.*?)<\/fieldset>/is', $html, $fieldSets);
foreach ($fieldSets[1] as $fieldSet)
{
preg_match('/12px.*?<a href="([^"]+)"[^>]+>(.*?)<\/a>/i', $fieldSet, $channelVars);
$ChannelList[$channelVars[2]] = $channelVars[1];
}
uksort($ChannelList, 'strnatcasecmp');
$FirstRun = true;
$KeepRunning = true;
while ($KeepRunning)
{
if ($FirstRun)
$FirstRun = false;
else
ShowHeader();
Display($ChannelList, $ChannelFormat, 3);
printf("Enter Channel Number : ");
$channel = trim(fgets(STDIN));
if (is_numeric($channel) && ($channel >= 1) && ($channel <= count($ChannelList)))
{
$url = $ChannelList[KeyName($ChannelList, $channel - 1)];
$filename = KeyName($ChannelList, $channel - 1);
ShowChannel($url, $filename);
}
else
$KeepRunning = false;
}
-
- Administrator
- Posts: 27
- Joined: 2013-05-04, 14:26
Code: Select all
..
$url = "http://weeb.tv/online/tvp-1";
..
tzn jeżeli ustawisz jak wyżej zawsze mimo wyboru któregokolwiek kanału będzie to TVP1.
Dzięki widać można to w prosty sposób rozwiązać :D
A w sumie to mam jeszcze jedno pytanko. Załóżmy że skonfigurowałem plik WeebTV.php w taki sposób aby obraz wysyłał za pomocą ffmpeg na serwer za pomocą rtmp. Odpalam plik WeebTV.php wybieram kanał i on zostaje wysłany na serwer, lecz po jakimś czasie transmisja stopuje się i trzeba ją na nowo wznowić. Czy da się w linuxie zrobić skrypt który sam odpali WeebTV.php wtedy gdy zauważy że została przerwana transmisja.
A w sumie to mam jeszcze jedno pytanko. Załóżmy że skonfigurowałem plik WeebTV.php w taki sposób aby obraz wysyłał za pomocą ffmpeg na serwer za pomocą rtmp. Odpalam plik WeebTV.php wybieram kanał i on zostaje wysłany na serwer, lecz po jakimś czasie transmisja stopuje się i trzeba ją na nowo wznowić. Czy da się w linuxie zrobić skrypt który sam odpali WeebTV.php wtedy gdy zauważy że została przerwana transmisja.
Re: Restreaming za pomocą ffmpeg
jestem nowa czy którys z gentlemanów pomogł by mi bo nie potrafie blondynka nie jestem ,ale niepotrafie
jak wystrumieniowac sygnał z tunera na strone www w html .
no chociaz kamerke z chaty .
Mam serwerek vps debian nie kumam jakie tam musza byc narzedzia .
Strone sobie postawiłem jak kazda Brunetka by to zrobiła ale nie potrafie streamingowac sygnału na serwer w jakims playerze by wszyscy ogladali JAK SIE TO ROBI ??
Z GÓRY DZIEKI ZAPOMOC PANOM FACHOWCOM MOJ GG:55322805
jak wystrumieniowac sygnał z tunera na strone www w html .
no chociaz kamerke z chaty .
Mam serwerek vps debian nie kumam jakie tam musza byc narzedzia .
Strone sobie postawiłem jak kazda Brunetka by to zrobiła ale nie potrafie streamingowac sygnału na serwer w jakims playerze by wszyscy ogladali JAK SIE TO ROBI ??
Z GÓRY DZIEKI ZAPOMOC PANOM FACHOWCOM MOJ GG:55322805