Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Chcę nadawać obraz z kamerki na www.justin.tv za pomocą ffmpeg. Kamerka z programem motion chodzi bez problemu.
Znalazłem do tego prosty skrypt, który po małych modyfikacjach (czyli usunięcie nadawania dźwięku) wygląda tak:
#!/bin/bash API_KEY="live_mój klucz" FPS="5" INRES='640x480' ffmpeg -f video4linux2 -s "$INRES" -r "$FPS" -i /dev/video0 \ -f flv "rtmp://live.justin.tv/app/$API_KEY"
Jednak po odpaleniu skryptu wygląda to następująco:
FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Jun 10 2012 10:30:14, gcc: 4.4.5 [video4linux2 @ 0x825da60][3]Capabilities: 4000001 Input #0, video4linux2, from '/dev/video0': Duration: N/A, start: 1360942069.704919, bitrate: 24576 kb/s Stream #0.0: Video: rawvideo, yuyv422, 640x480, 24576 kb/s, 5 tbr, 1000k tbn, 5 tbc Could not open 'rtmp://live.justin.tv/app/live_mój klucz' ioctl(VIDIOC_QBUF)
Czyli występuje jakiś problem z rtmp.
Mam debiana 6.0.2.1 instalacja minimalna. Ktoś wie jak rozwiązać ten problem?
Offline
Może za stara wersja ffmpeg?
ffmpeg (4:0.6-2) experimental; urgency=low
[ Fabian Greffrath ]
* Enable RTMP[E] support via librtmp.
…
— Reinhard Tartler <siretart@tauware.de> Tue, 29 Jun 2010 09:07:56 +0200
Offline
Jest ona przed chwilą instalowana z repo. Jak zainstalować nową wersję?
Offline
W squeeze-backports jest nowsza.
Dodajesz repo:
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
Potem:
aptitude update aptitude install ffmpeg -t squeeze-backports
Offline
Dzięki, teraz działa jak trzeba.
Zainstalowało się dość sporo bibliotek itp:
libavutil51 (6:0.8.5-1~bpo60+1) ... libmp3lame0 (3.98.4+repack2-3~bpo60+1) ... libva1 (1.0.1-3) ... libvpx0 (0.9.1-2) ... libx264-120 (2:0.120.2151+gita3f4407-3~bpo60+1) ... libxvidcore4 (2:1.3.2-5~bpo60+1) ... libavcodec53 (6:0.8.5-1~bpo60+1) ... libgpg-error0 (1.6-1) ... libgcrypt11 (1.4.5-2) ... libtasn1-3 (2.7-1+squeeze+1) ... libgnutls26 (2.8.6-1+squeeze2) ... librtmp0 (2.3-2) ... libavformat53 (6:0.8.5-1~bpo60+1) ... libcdio10 (0.81-4) ... libcdio-cdda0 (0.81-4) ... libcdio-paranoia0 (0.81-4) ... libjack-jackd2-0 (1.9.6~dfsg.1-2) ... libasyncns0 (0.3-1.1) ... libcap2 (1:2.19-3) ... libdbus-1-3 (1.2.24-4+squeeze1) ... x11-common (1:7.6+8~bpo60+1) ... libice6 (2:1.0.6-2) ... libsm6 (2:1.1.1-1) ... libflac8 (1.2.1-2+b1) ... libsndfile1 (1.0.21-3+squeeze1) ... libxi6 (2:1.3-7) ... libxtst6 (2:1.1.0-3) ... libpulse0 (0.9.21-3+squeeze1) ... libxfixes3 (1:4.0.5-1) ... libavdevice53 (6:0.8.5-1~bpo60+1) ... libfreetype6 (2.4.9-1.1~bpo60+1) ... libswscale2 (6:0.8.5-1~bpo60+1) ... libavfilter2 (6:0.8.5-1~bpo60+1) ... libpostproc52 (6:0.8.5-1~bpo60+1) ... libav-tools (6:0.8.5-1~bpo60+1) ... ffmpeg (6:0.8.5-1~bpo60+1) ... dbus (1.2.24-4+squeeze1) ...
Myślę, że sporo można by usunąć, bo ffmpeg będę używał tylko do streamingu a jako dysk mam karę 512mb. Może ktoś wie, co w takim razie na pewno można usunąć?
Drugie pytanie czy idzie tak jak np. w motion odwrócić nadawany obraz o 180st?
Offline
One się chyba tylko aktualizowały?
Offline
Części nie było z poprzednim ffmpeg.
Offline
A nie możesz pokazać całego loga? Jeśli sie instalowały to pewnie jakieś zależności.
Część na pewno jest zamieniona na nowsze wersje i starsze są już niepotrzebne.
Masz automatyczne instalowanie polecanych?
Te, które wyglądają na niepotrzebne możesz sprawdzić tak:
aptitude why nazwa_pakiet
i skorzystać z deborphan
Offline
Moze należalo ffmpeg z deb-multimedia zainstalować.
http://www.deb-multimedia.org/dists/stable/main/bin … ackage/ffmpeg
Offline
W backportach jest trochę nowsza wersja, ale zawsze można przetestować też z deb-multimedia.
Ten z backportów mógł ściągać trochę więcej zależności:
Pakiet: ffmpeg (6:0.8.5-1~bpo60+1) [backports]
Odtwarzacz multimedialny, serwer, koder i transkoder (pakiet przejściowy)
Libav jest kompletnym, wieloplatformowym rozwiązaniem do dekodowania, kodowania, zapisywania, konwertowania oraz odtwarzania strumieni audio i wideo.
Pakiet zawiera przestarzały program ffmpeg. Pakiet ten służy również do przejścia do libav-tools. Użytkownicy powinni używać avconv z pakietu libav-tools zamiast ffmpeg.
Offline
Nie pamiętam jak to w Squeeze wyglądało.
We Whezym zas ffmpeg w oficjalnym repo jest zwalone.
Własiwie to jest pakiet przejściowy którego zastąpił
libav-tools który oczywiście nie działa.
Przynajmniej na tych parametrach na które ja mam skrypty popisane.
Dokladnie go nie sprawdzałem gdyż używam ffmpeg z deb-multimedia.
Ten działa jak należy.
Offline
@ilin:
Właśnie zauważyłem, że teraz to pakiet przejściowy.
Offline
Całego loga nie pokażę, bo już mi "przeleciał", chyba że idzie jakoś go jeszcze zobaczyć.
yossarian napisał(-a):
A nie możesz pokazać całego loga?
Masz automatyczne instalowanie polecanych?
Nie mam pojęcia, czy mam automatyczne instalowanie polecanych :(
Teraz chyba już nie ma sensu zmieniać znowu na tego z deb-multimedia.
Ostatnio edytowany przez minimarek (2013-02-15 18:12:20)
Offline
minimarek napisał(-a):
Nie mam pojęcia, czy mam automatyczne instalowanie polecanych :(
Pokaz wynik:
apt-config dump | grep APT::Install
Offline
APT::Install-Recommends "1"; APT::Install-Suggests "0";
Offline
Utwórz sobie plik:
/etc/apt/apt.conf.d/80recommends
o zawartości:
APT::Install-Recommends "0";
APT::Install-Suggests "0";
Możesz jeszcze w nim dodać:
APT::AutoRemove::SuggestsImportant "false";
APT::AutoRemove::SuggestsImportant "false";
I uważniej czytaj komunikaty przy instalacji/usuwaniu pakietów.
Offline
Ok, dzięki wielkie, zaraz to zrobię.
Pozostaje inny problem. Mam jedną kamerkę na sterowniku UVC i tą udało mi się bez problemu uruchomić. Druga jest z kolei na sterowniku gspca(spca561) i np z motion, żeby ją uruchomić musiałem ładować bibliotekę:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so motion
Idzie zrobić taki trick z ffmpeg?
Bo aktualnie z tą kamerką wywala mi komunikat:
ffmpeg version 0.8.5-6:0.8.5-1~bpo60+1, Copyright (c) 2000-2012 the Libav developers built on Jan 24 2013 20:38:51 with gcc 4.4.5 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. [video4linux2 @ 0x8170fe0] The V4L2 driver changed the video from 640x480 to 352x288 libv4l2: error allocating conversion buffer [video4linux2 @ 0x8170fe0] mmap: Cannot allocate memory /dev/video1: Cannot allocate memory
Offline