How to rollback ffmpeg version to desired version? Is rollback needed in this scenario?












0















This is a ubuntu 16.04 running on armhf board.



I use ffmpeg for recording video from webcam. The process kind of works best in a version of the ffmpeg. I want to install/rollback to the particular version.



Output from clone that has issues :



ffmpeg -version
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100


root@busplay4:/usr/bin# dpkg-query -W ffmpeg
ffmpeg 5:201812261919-git-1
root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from working clone :



ffmpeg -version
ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100


These two XU4s were clones, we somehow managed to changed the version to the newer one through some make/build. We dont have information on how we ended up with a different version. How do we rollback or change to the preferred version. The reason to rollback is that the performance of the video recording using ffmpeg is better in the previous version.



Output from clone that works fine. The 3.3.3-5ubuntu1 version.



ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
avfilter configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[video4linux2,v4l2 @ 0x645ec0] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x645ec0] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 16103.299011, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x67c9f0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x649940] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x649940] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] Using device /dev/video11
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] h264_v4l2m2m encoder: enabling bit rate control: 750000
[h264_v4l2m2m @ 0x649940] h264 profile not found
[h264_v4l2m2m @ 0x649940] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Video: h264 (h264_v4l2m2m) ([33][0][0][0] / 0x0021), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc57.89.100 h264_v4l2m2m
[h264_v4l2m2m @ 0x649940] output POLLERR
[mp4 @ 0x648400] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
frame= 737 fps= 61 q=-0.0 Lsize= 2561kB time=00:00:12.25 bitrate=1712.3kbits/s dup=153 drop=0 speed=1.02x
video:2557kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.153437%


Output from the version that doesnt work :



ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -pix_fmt nv21 -vcodec h264 -acodec none -c:v h264_v4l2m2m -x264opts nal-hrd=cbr:force-cfr=1 -b:v 750k -minrate 750k -maxrate 750k -bufsize 1000k lq4.mp4
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[video4linux2,v4l2 @ 0x16f4390] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x16f4390] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 375.645303, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x1706dd0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x16f8490] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x16f8490] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] Using device /dev/video11
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] h264 profile not found
[h264_v4l2m2m @ 0x16f8490] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf58.25.100
Stream #0:0: Video: h264 (h264_v4l2m2m) (avc1 / 0x31637661), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc58.42.104 h264_v4l2m2m
[mp4 @ 0x16f7050] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
[mjpeg @ 0x16f5c90] mjpeg_decode_dc: bad vlc: 0:0 (0x16f626c)
[mjpeg @ 0x16f5c90] error dc
[mjpeg @ 0x16f5c90] error y=41 x=1
Video encoding failed=-0.0 size= 2560kB time=00:00:00.80 bitrate=26212.8kbits/s dup=29 drop=0 speed=1.58x
Conversion failed!


Output from the version that doesnt work :



root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from from working XU4



odroid@odroid:~$ dpkg  --list | grep "ffmpeg"
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 7:3.3.3-5ubuntu1 armhf Tools for transcoding, streaming and playing of multimedia files
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Also suggest if the errors arent because of the version change and logs suggest something else related to ffmpeg.










share|improve this question























  • Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

    – llogan
    Jan 10 at 18:08
















0















This is a ubuntu 16.04 running on armhf board.



I use ffmpeg for recording video from webcam. The process kind of works best in a version of the ffmpeg. I want to install/rollback to the particular version.



Output from clone that has issues :



ffmpeg -version
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100


root@busplay4:/usr/bin# dpkg-query -W ffmpeg
ffmpeg 5:201812261919-git-1
root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from working clone :



ffmpeg -version
ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100


These two XU4s were clones, we somehow managed to changed the version to the newer one through some make/build. We dont have information on how we ended up with a different version. How do we rollback or change to the preferred version. The reason to rollback is that the performance of the video recording using ffmpeg is better in the previous version.



Output from clone that works fine. The 3.3.3-5ubuntu1 version.



ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
avfilter configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[video4linux2,v4l2 @ 0x645ec0] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x645ec0] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 16103.299011, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x67c9f0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x649940] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x649940] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] Using device /dev/video11
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] h264_v4l2m2m encoder: enabling bit rate control: 750000
[h264_v4l2m2m @ 0x649940] h264 profile not found
[h264_v4l2m2m @ 0x649940] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Video: h264 (h264_v4l2m2m) ([33][0][0][0] / 0x0021), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc57.89.100 h264_v4l2m2m
[h264_v4l2m2m @ 0x649940] output POLLERR
[mp4 @ 0x648400] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
frame= 737 fps= 61 q=-0.0 Lsize= 2561kB time=00:00:12.25 bitrate=1712.3kbits/s dup=153 drop=0 speed=1.02x
video:2557kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.153437%


Output from the version that doesnt work :



ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -pix_fmt nv21 -vcodec h264 -acodec none -c:v h264_v4l2m2m -x264opts nal-hrd=cbr:force-cfr=1 -b:v 750k -minrate 750k -maxrate 750k -bufsize 1000k lq4.mp4
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[video4linux2,v4l2 @ 0x16f4390] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x16f4390] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 375.645303, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x1706dd0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x16f8490] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x16f8490] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] Using device /dev/video11
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] h264 profile not found
[h264_v4l2m2m @ 0x16f8490] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf58.25.100
Stream #0:0: Video: h264 (h264_v4l2m2m) (avc1 / 0x31637661), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc58.42.104 h264_v4l2m2m
[mp4 @ 0x16f7050] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
[mjpeg @ 0x16f5c90] mjpeg_decode_dc: bad vlc: 0:0 (0x16f626c)
[mjpeg @ 0x16f5c90] error dc
[mjpeg @ 0x16f5c90] error y=41 x=1
Video encoding failed=-0.0 size= 2560kB time=00:00:00.80 bitrate=26212.8kbits/s dup=29 drop=0 speed=1.58x
Conversion failed!


Output from the version that doesnt work :



root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from from working XU4



odroid@odroid:~$ dpkg  --list | grep "ffmpeg"
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 7:3.3.3-5ubuntu1 armhf Tools for transcoding, streaming and playing of multimedia files
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Also suggest if the errors arent because of the version change and logs suggest something else related to ffmpeg.










share|improve this question























  • Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

    – llogan
    Jan 10 at 18:08














0












0








0








This is a ubuntu 16.04 running on armhf board.



I use ffmpeg for recording video from webcam. The process kind of works best in a version of the ffmpeg. I want to install/rollback to the particular version.



Output from clone that has issues :



ffmpeg -version
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100


root@busplay4:/usr/bin# dpkg-query -W ffmpeg
ffmpeg 5:201812261919-git-1
root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from working clone :



ffmpeg -version
ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100


These two XU4s were clones, we somehow managed to changed the version to the newer one through some make/build. We dont have information on how we ended up with a different version. How do we rollback or change to the preferred version. The reason to rollback is that the performance of the video recording using ffmpeg is better in the previous version.



Output from clone that works fine. The 3.3.3-5ubuntu1 version.



ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
avfilter configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[video4linux2,v4l2 @ 0x645ec0] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x645ec0] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 16103.299011, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x67c9f0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x649940] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x649940] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] Using device /dev/video11
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] h264_v4l2m2m encoder: enabling bit rate control: 750000
[h264_v4l2m2m @ 0x649940] h264 profile not found
[h264_v4l2m2m @ 0x649940] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Video: h264 (h264_v4l2m2m) ([33][0][0][0] / 0x0021), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc57.89.100 h264_v4l2m2m
[h264_v4l2m2m @ 0x649940] output POLLERR
[mp4 @ 0x648400] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
frame= 737 fps= 61 q=-0.0 Lsize= 2561kB time=00:00:12.25 bitrate=1712.3kbits/s dup=153 drop=0 speed=1.02x
video:2557kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.153437%


Output from the version that doesnt work :



ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -pix_fmt nv21 -vcodec h264 -acodec none -c:v h264_v4l2m2m -x264opts nal-hrd=cbr:force-cfr=1 -b:v 750k -minrate 750k -maxrate 750k -bufsize 1000k lq4.mp4
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[video4linux2,v4l2 @ 0x16f4390] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x16f4390] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 375.645303, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x1706dd0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x16f8490] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x16f8490] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] Using device /dev/video11
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] h264 profile not found
[h264_v4l2m2m @ 0x16f8490] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf58.25.100
Stream #0:0: Video: h264 (h264_v4l2m2m) (avc1 / 0x31637661), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc58.42.104 h264_v4l2m2m
[mp4 @ 0x16f7050] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
[mjpeg @ 0x16f5c90] mjpeg_decode_dc: bad vlc: 0:0 (0x16f626c)
[mjpeg @ 0x16f5c90] error dc
[mjpeg @ 0x16f5c90] error y=41 x=1
Video encoding failed=-0.0 size= 2560kB time=00:00:00.80 bitrate=26212.8kbits/s dup=29 drop=0 speed=1.58x
Conversion failed!


Output from the version that doesnt work :



root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from from working XU4



odroid@odroid:~$ dpkg  --list | grep "ffmpeg"
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 7:3.3.3-5ubuntu1 armhf Tools for transcoding, streaming and playing of multimedia files
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Also suggest if the errors arent because of the version change and logs suggest something else related to ffmpeg.










share|improve this question














This is a ubuntu 16.04 running on armhf board.



I use ffmpeg for recording video from webcam. The process kind of works best in a version of the ffmpeg. I want to install/rollback to the particular version.



Output from clone that has issues :



ffmpeg -version
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100


root@busplay4:/usr/bin# dpkg-query -W ffmpeg
ffmpeg 5:201812261919-git-1
root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from working clone :



ffmpeg -version
ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100


These two XU4s were clones, we somehow managed to changed the version to the newer one through some make/build. We dont have information on how we ended up with a different version. How do we rollback or change to the preferred version. The reason to rollback is that the performance of the video recording using ffmpeg is better in the previous version.



Output from clone that works fine. The 3.3.3-5ubuntu1 version.



ffmpeg version 3.3.3-5ubuntu1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Ubuntu/Linaro 5.4.1-2ubuntu1~16.04) 20160904
configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
avfilter configuration: --prefix=/usr --extra-version=5ubuntu1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --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-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --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-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --disable-d3d11va --disable-dxva2 --disable-nvenc --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-v4l2_m2m --enable-libdc1394 --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 --enable-netcdf
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
[video4linux2,v4l2 @ 0x645ec0] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x645ec0] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 16103.299011, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x67c9f0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x649940] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x649940] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] Using device /dev/video11
[h264_v4l2m2m @ 0x649940] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x649940] h264_v4l2m2m encoder: enabling bit rate control: 750000
[h264_v4l2m2m @ 0x649940] h264 profile not found
[h264_v4l2m2m @ 0x649940] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Video: h264 (h264_v4l2m2m) ([33][0][0][0] / 0x0021), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc57.89.100 h264_v4l2m2m
[h264_v4l2m2m @ 0x649940] output POLLERR
[mp4 @ 0x648400] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
frame= 737 fps= 61 q=-0.0 Lsize= 2561kB time=00:00:12.25 bitrate=1712.3kbits/s dup=153 drop=0 speed=1.02x
video:2557kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.153437%


Output from the version that doesnt work :



ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -pix_fmt nv21 -vcodec h264 -acodec none -c:v h264_v4l2m2m -x264opts nal-hrd=cbr:force-cfr=1 -b:v 750k -minrate 750k -maxrate 750k -bufsize 1000k lq4.mp4
ffmpeg version 4.1.git Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-indev=v4l2
libavutil 56. 25.100 / 56. 25.100
libavcodec 58. 42.104 / 58. 42.104
libavformat 58. 25.100 / 58. 25.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 46.101 / 7. 46.101
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
[video4linux2,v4l2 @ 0x16f4390] The V4L2 driver changed the video from 320x240 to 640x480
[video4linux2,v4l2 @ 0x16f4390] The driver changed the time per frame from 1/30 to 1/60
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 375.645303, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Codec AVOption x264opts (x264 options) specified for output file #0 (lq4.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[swscaler @ 0x1706dd0] deprecated pixel format used, make sure you did set range correctly
[h264_v4l2m2m @ 0x16f8490] driver 'uvcvideo' on card '3.0 USB Camera: 3.0 USB Camera'
[h264_v4l2m2m @ 0x16f8490] driver 'exynos-gsc' on card 'exynos-gsc gscaler'
Last message repeated 1 times
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] Using device /dev/video11
[h264_v4l2m2m @ 0x16f8490] driver 's5p-mfc' on card 's5p-mfc-enc'
[h264_v4l2m2m @ 0x16f8490] h264 profile not found
[h264_v4l2m2m @ 0x16f8490] Encoder adjusted: qmin (0), qmax (51)
Output #0, mp4, to 'lq4.mp4':
Metadata:
encoder : Lavf58.25.100
Stream #0:0: Video: h264 (h264_v4l2m2m) (avc1 / 0x31637661), nv21, 640x480, q=2-31, 750 kb/s, 60 fps, 15360 tbn, 60 tbc
Metadata:
encoder : Lavc58.42.104 h264_v4l2m2m
[mp4 @ 0x16f7050] Non-monotonous DTS in output stream 0:0; previous: 0, current: 0; changing to 1. This may result in incorrect timestamps in the output file.
[mjpeg @ 0x16f5c90] mjpeg_decode_dc: bad vlc: 0:0 (0x16f626c)
[mjpeg @ 0x16f5c90] error dc
[mjpeg @ 0x16f5c90] error y=41 x=1
Video encoding failed=-0.0 size= 2560kB time=00:00:00.80 bitrate=26212.8kbits/s dup=29 drop=0 speed=1.58x
Conversion failed!


Output from the version that doesnt work :



root@busplay4:/usr/bin# dpkg -l | grep ffmpeg
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 5:201812261919-git-1 armhf Package created with checkinstall 1.6.2
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Output from from working XU4



odroid@odroid:~$ dpkg  --list | grep "ffmpeg"
ii chromium-codecs-ffmpeg-extra 71.0.3578.98-0ubuntu0.16.04.1 armhf Extra ffmpeg codecs for the Chromium Browser
ii ffmpeg 7:3.3.3-5ubuntu1 armhf Tools for transcoding, streaming and playing of multimedia files
ii ffmpeg-doc 7:3.3.3-5ubuntu1 all Documentation of the FFmpeg multimedia framework
ii ffmpegthumbnailer 2.0.10-0.1 armhf fast and lightweight video thumbnailer
ii libavcodec-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with de/encoders for audio/video codecs - runtime files
ii libavdevice-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for handling input and output devices - runtime files
ii libavfilter-ffmpeg5:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library containing media filters - runtime files
ii libavformat-ffmpeg56:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with (de)muxers for multimedia containers - runtime files
ii libavresample-ffmpeg2:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg compatibility library for resampling - runtime files
ii libavutil-ffmpeg54:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library with functions for simplifying programming - runtime files
ii libffmpegthumbnailer4v5 2.0.10-0.1 armhf shared library for ffmpegthumbnailer
ii libpostproc-ffmpeg53:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for post processing - runtime files
ii libswresample-ffmpeg1:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for audio resampling, rematrixing etc. - runtime files
ii libswscale-ffmpeg3:armhf 7:2.8.15-0ubuntu0.16.04.1 armhf FFmpeg library for image scaling and various conversions - runtime files


Also suggest if the errors arent because of the version change and logs suggest something else related to ffmpeg.







video ffmpeg webcam arm






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 10 at 16:56









ThohtThoht

1




1













  • Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

    – llogan
    Jan 10 at 18:08



















  • Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

    – llogan
    Jan 10 at 18:08

















Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

– llogan
Jan 10 at 18:08





Do you need to use h264_v4l2m2m? Does a simplified command work? ffmpeg -framerate 30 -video_size 320x240 -input_format mjpeg -i /dev/video0 -c:v h264_v4l2m2m lq4.mp4

– llogan
Jan 10 at 18:08










0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1392845%2fhow-to-rollback-ffmpeg-version-to-desired-version-is-rollback-needed-in-this-sc%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1392845%2fhow-to-rollback-ffmpeg-version-to-desired-version-is-rollback-needed-in-this-sc%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Список кардиналов, возведённых папой римским Каликстом III

Deduzione

Mysql.sock missing - “Can't connect to local MySQL server through socket”