Kyuunex / better_droidcam_linux_client

A better client for DroidCam on Linux
GNU General Public License v3.0
42 stars 4 forks source link

FFMPEG copy does not work. #2

Closed brandon-dodds closed 3 years ago

brandon-dodds commented 3 years ago

When I try to load the stream with the latest version (using copy instead of raw video) I get

[video4linux2,v4l2 @ 0x5597cfe0ac00] V4L2 output device supports only a single raw video stream Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

Kyuunex commented 3 years ago

In order to determine the cause of this issue, I need more information, specifically about the codec of the video stream the phone is encoding.

FFMPEG's complete output should include this information.

Other than that, you can open the video stream in VLC (Ctrl+N and paste the url http://127.0.0.1:4747/mjpegfeed?640x480, change the resolution to what you run it on), press 'play' and then Ctrl+J.

It should be showing Motion JPEG Video (MJPG).

Kyuunex commented 3 years ago

would have been nice to have known more info about this issue btw, and how you manged to fix it other than using the older version that needlessly encodes

aksarkar commented 1 year ago

@Kyuunex I have the same issue

waiting for the device to show up via adb
[sudo] password for asarkar: 
ffmpeg version 4.2.7-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --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-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mpjpeg, from 'http://127.0.0.1:4747/mjpegfeed?':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[video4linux2,v4l2 @ 0x55c08b545280] V4L2 output device supports only a single raw video stream
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
    Last message repeated 1 times

Hardware: OnePlus 6T OxygenOS 11.1.2.2

Software: droidcam client revision 96f6def8fa3433f8e95646193bbd18dbeba482d3 ffmpeg 4.2.7 Ubuntu 20.04