Dlaczego pojawia się komunikat „Nie można znaleźć odpowiedniego formatu wyjściowego dla„ http: //localhost/feed1.ffm ”” podczas korzystania z FFmpeg?

0

Po wykonaniu kroków na tym blogu, aby przesyłać strumieniowo wideo do sieci .

Ale nie mogę przesyłać strumieniowo wideo z mojego Raspberry Pi za pomocą Logitech Camera do Linuksa

Mam ten błąd:

„Nie można znaleźć odpowiedniego formatu wyjściowego dla„ http: // localhost: 8090 / feed1.ffmhttp: // localhost: 8090 / feed1.ffm : nieprawidłowy argument”

Komenda:

 ffserver -f /etc/ffserver.conf & ffmpeg -s 600x480 -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm

Wynik:

ffmpeg version N-90077-g56f77b0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.9.2 (Raspbian 4.9.2-10)

Konfiguracja:

--arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-libtheora --enable-libvorbis

libavutil 56. 7.101 / 56. 7.101
libavcodec 58. 11.101 / 58. 11.101
libavformat 58. 9.100 / 58. 9.100
libavdevice 58. 1.100 / 58. 1.100
libavfilter 7. 12.100 / 7. 12.100
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
ffserver version N-87073-g1c56bec Copyright (c) 2000-2017 the FFmpeg developers built with gcc 4.9.2 (Raspbian 4.9.2-10)

Konfiguracja:

libavutil 55. 74.100 / 55. 74.100
libavcodec 57.103.101 / 57.103.101
libavformat 57. 78.100 / 57. 78.100
libavdevice 57. 7.101 / 57. 7.101
libavfilter 6.100.100 / 6.100.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100

/etc/ffserver.conf:1: Port option is deprecated. Use HTTPPort instead.
/etc/ffserver.conf:3: BindAddress option is deprecated. Use HTTPBindAddress instead.
/etc/ffserver.conf:9: NoDaemon option has no effect. You should remove it.
/etc/ffserver.conf:27: Setting default value for video bit rate tolerance = 20000. Use NoDefaults to disable it.
/etc/ffserver.conf:27: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
/etc/ffserver.conf:27: Setting default value for video max rate = 30906320. Use NoDefaults to disable it.
/etc/ffserver.conf:27: Setting default value for video buffer size = 160000. Use NoDefaults to disable it.
[video4linux2,v4l2 @ 0x1fe71f0] The V4L2 driver changed the video from 600x480 to 640x480

Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 16778.275190, bitrate: 147456 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[NULL @ 0x1fe8e60] Unable to find a suitable output format for 'http://localhost:8090/feed1.ffm' http://localhost:8090/feed1.ffm: Invalid argument
[4]- Exit 1 ffserver -f /etc/ffserver.conf
Vatsal Patel
źródło

Odpowiedzi:

3

ffserverzostał usunięty od N-89724-g6b35a8301.01.2018. Musisz więc skompilować starszą wersję.

Gyan
źródło
Jestem tu trochę nowicjuszem, ale czy nie powinno to działać po ręcznym utworzeniu pliku ffserver.conf?
Vatsal Patel
Twoja kompilacja ffmpeg nie wie o ffserver, więc nie rozpoznaje ani nie analizuje. ffm
Gyan
Aby wzmocnić to, co mówi @Mulvya, jeśli współczesne wersje FFmpeg nie mają, ffservernie ma nic, co można zrobić, aby to naprawić za pomocą pliku konfiguracyjnego. To powiedziawszy, powinieneś być w stanie samodzielnie zainstalować ffserverw jakiś sposób. Ta strona wyjaśnia proces .
JakeGould
0

ffserverzostał usunięty z FFmpeg 06.01.2018 z powodu braku zainteresowania użytkowników i programistów. Ostatnie zatwierdzenie włącznie ffserverto 2ca65fc. Jeśli chcesz użyć, ffservermożesz pobrać to zatwierdzenie i skompilować:

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout 2ca65fc7b74444edd51d5803a2c1e05a801a6023
./configure
make -j4
  • Alternatywnie możesz użyć gałęzi wydania FFmpeg 3.4, ale powyższe zatwierdzenie jest nowsze.

  • Więcej informacji i instrukcji dotyczących kompilacji znajduje się w jednym z przewodników kompilacji FFmpeg .

  • W chwili pisania tej odpowiedzi użytkownicy systemu macOS mogą pobrać statyczną kompilację FFmpeg 3.4 zawierającą ffserverz Evermeet .

Llogan
źródło