Рейтинг:1

gphoto2 /FFmpeg: Не удалось записать заголовок для выходного файла №0 (неверные параметры кодека?):

флаг in

Первый вопрос здесь, так как я находил ответы на все остальное, с чем у меня были проблемы ранее, спасибо всем, кто вносит свой вклад.

Я следовал этому руководству, чтобы использовать gphoto2 и ffmpeg для использования моей прямой трансляции Fuji X-T2 в качестве веб-камеры:

https://medium.com/nerdery/dslr-webcam-setup-for-linux-9b6d1b79ae22

он работает хорошо, когда я впервые запускаю машину и включаю камеру:

 $ pkill -f gphoto2 

(отмонтировать камеру как том)

 $ gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
    ffmpeg версии 4.4-6ubuntu5 Copyright (c) 2000-2021 разработчики FFmpeg
      построен с помощью gcc 11 (Ubuntu 11.2.0-7ubuntu1)
      конфигурация: --prefix=/usr --extra-version=6ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu -- arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca -- enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack -- enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy -- enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp -- enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx -- enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 -- enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
      libavutil 56. 70.100 / 56. 70.100
      libavcodec 58.134.100 / 58.134.100
      libavformat 58. 76.100 / 58. 76.100
      libavdevice 58. 13.100 / 58. 13.100
      libavfilter 7.110.100 / 7.110.100
      libswscale 5.9.100 / 5.9.100
      libswresample 3. 9.100 / 3. 9.100
      libpostproc 55. 9.100 / 55. 9.100
    Захват кадров предварительного просмотра в виде фильма на стандартный вывод. Нажмите Ctrl-C, чтобы прервать.
    [mjpeg @ 0x55b4c5b39340] Формат mjpeg обнаружен только с низким баллом 25, возможно неправильное определение!
    Введите #0, mjpeg, из 'pipe:':
      Продолжительность: нет данных, битрейт: нет данных
      Поток #0:0: Видео: mjpeg (базовый уровень), yuvj422p(pc, bt470bg/неизвестно/неизвестно), 1024x768, 25 tbr, 1200k tbn, 25 tbc
    Отображение потока:
      Поток #0:0 -> #0:0 (mjpeg (собственный) -> rawvideo (собственный))
    [swscaler @ 0x55b4c5b8c800] используется устаревший формат пикселей, убедитесь, что вы правильно установили диапазон
    Вывод №0, video4linux2,v4l2, в '/dev/video0':
      Метаданные:
        кодировщик: Lavf58.76.100
      Поток #0:0: Видео: rawvideo (I420 / 0x30323449), yuv420p(tv, bt470bg/неизвестно/неизвестно, прогрессивный), 1024x768, q=2-31, 235929 кб/с, 25 к/с, 25 тр/с
        Метаданные:
          кодировщик: Lavc58.134.100 rawvideo
    кадр = 444 кадра в секунду = 32 q = -0,0 Lsize = нет данных время = 00:00:17,76 битрейт = нет данных скорость = 1,29x 

Однако, если я выключу камеру и попытаюсь запустить снова позже в тот же день, я в конечном итоге получу сообщение об ошибке ниже:

gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
ffmpeg версии 4.4-6ubuntu5 Copyright (c) 2000-2021 разработчики FFmpeg
  построен с помощью gcc 11 (Ubuntu 11.2.0-7ubuntu1)
  конфигурация: --prefix=/usr --extra-version=6ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu -- arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca -- enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack -- enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy -- enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp -- enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx -- enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 -- enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil 56. 70.100 / 56. 70.100
  libavcodec 58.134.100 / 58.134.100
  libavformat 58. 76.100 / 58. 76.100
  libavdevice 58. 13.100 / 58. 13.100
  libavfilter 7.110.100 / 7.110.100
  libswscale 5.9.100 / 5.9.100
  libswresample 3. 9.100 / 3. 9.100
  libpostproc 55. 9.100 / 55. 9.100
Захват кадров предварительного просмотра в виде фильма на стандартный вывод. Нажмите Ctrl-C, чтобы прервать.
[mjpeg @ 0x5635c5ca0340] Формат mjpeg обнаружен только с низким баллом 25, возможно неправильное определение!
Введите #0, mjpeg, из 'pipe:':
  Продолжительность: нет данных, битрейт: нет данных
  Поток #0:0: Видео: mjpeg (базовый уровень), yuvj422p(pc, bt470bg/неизвестно/неизвестно), 1024x768, 25 tbr, 1200k tbn, 25 tbc
Отображение потока:
  Поток #0:0 -> #0:0 (mjpeg (собственный) -> rawvideo (собственный))
[swscaler @ 0x5635c5cfc600] используется устаревший формат пикселей, убедитесь, что вы правильно установили диапазон
[video4linux2,v4l2 @ 0x5635c5ca4080] ioctl(VIDIOC_G_FMT): неверный аргумент
Не удалось записать заголовок для выходного файла №0 (неверные параметры кодека?): Неверный аргумент
Ошибка инициализации выходного потока 0:0 -- 
Преобразование не удалось!

Единственное решение, которое у меня есть в настоящее время, - это перезагрузить рабочий стол. Есть идеи, как исправить / устранить неполадки, пожалуйста?

David avatar
флаг cn
Какую версию Ubuntu вы используете?
флаг in
Версия = 21.10
флаг in
https://github.com/umlaeute/v4l2loopback/issues/247 - похоже, это может быть связано с ядром и v4l2 после дальнейшего копания.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.