0

I'd like to use my dvcam as a webcam on linux (ubuntu 18.04). It works happily under windows showing up as a video source.. but on linux not so easy.

It shows up on /dev/fw0 & fw1 as 720x576 yuv420p rawvideo and I can show it happily under vlc using vlc -vvv dv/rawdv:///dev/fw1

but trying to push it via ffmpeg to v4l2loopback or akvcam seems to give me a black screen when I try to see it on skype or zoom

I'm currently trying ffmpeg -i /dev/fw1 -f v4l2 -vcodec rawvideo -video_size 720x576 -pix_fmt yuv420p -framerate 25 /dev/video3

Which gives me

ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100

I'm at a bit of a loss as how to debug this, or if there is a better way - thanks

baradhili
  • 113

1 Answers1

1

I had the same problem with my firewire ieee1394 DV cam, and it shows that ffmpeg cannot start to process the raw dv flow from the device /dev/fw* to the /dev/video* v4l2loopack endpoint (virtual v4l webcam).

Some interesting pointers can be found in ffmpeg docs: https://ffmpeg.org/ffmpeg-devices.html#iec61883

First, ensure that you have all the required packages/dependencies installed: libiec61883, libraw1394 and libavc1394 and that ffmpeg has been (pre)compiled with libiec61883 enabled (it seems to be the case on your ffmpeg configuration).

Then, the correct ffmpeg command is like :

ffmpeg -f iec61883 -i auto -dvbuffer 50000 -f v4l2 -vcodec rawvideo -video_size 720x576 -pix_fmt yuv420p -framerate 25 /dev/video3

The -i input parameter must be the firewire port number, or "auto".

revoluxx
  • 26
  • 1