Support
Quality
Security
License
Reuse
Coming Soon for all Libraries!
Currently covering the most popular Java, JavaScript and Python libraries. See a SAMPLE HERE.
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
C library for generating audio fingerprints used by AcoustID
Building
$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TOOLS=ON .
$ make
$ sudo make install
FFT Library
$ cmake -DFFT_LIB=kissfft .
FFmpeg
$ cmake -DFFMPEG_ROOT=/path/to/local/ffmpeg/install .
API Documentation
$ make docs
$ $BROWSER docs/html/index.html
Unit Tests
$ cmake -DBUILD_TESTS=ON .
$ make check
ffmpeg copy codec outputs in slowmotion
ffmpeg -r 60 -an -i /dev/video0 -vcodec copy test.mp4
ffmpeg - Lower volume of background music for dialog in a video
[1:a]aresample=44100,adelay=3000,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out]
ffmpeg -i video-with-bg-music.mp4 -i dialogue.mp3 \
-af [1:a]adelay=3000,apad \
-shortest final.mp4
ffmpeg -filter_complex \
[1:a]aresample=44100,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out] \
-f lavfi -i anoisesrc=d=60:c=pink:r=44100:a=0.5 \
-f lavfi -i sine=220:4:d=5 \
-map [out] output.mp3
-----------------------
[1:a]aresample=44100,adelay=3000,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out]
ffmpeg -i video-with-bg-music.mp4 -i dialogue.mp3 \
-af [1:a]adelay=3000,apad \
-shortest final.mp4
ffmpeg -filter_complex \
[1:a]aresample=44100,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out] \
-f lavfi -i anoisesrc=d=60:c=pink:r=44100:a=0.5 \
-f lavfi -i sine=220:4:d=5 \
-map [out] output.mp3
-----------------------
[1:a]aresample=44100,adelay=3000,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out]
ffmpeg -i video-with-bg-music.mp4 -i dialogue.mp3 \
-af [1:a]adelay=3000,apad \
-shortest final.mp4
ffmpeg -filter_complex \
[1:a]aresample=44100,apad,asplit=2[sc][mix];\
[0:a][sc]sidechaincompress=threshold=0.003:ratio=20[bg];\
[bg][mix]amix=duration=shortest[out] \
-f lavfi -i anoisesrc=d=60:c=pink:r=44100:a=0.5 \
-f lavfi -i sine=220:4:d=5 \
-map [out] output.mp3
ffmpeg error "output file #0 does not contain any stream" with FORFILES
rem // Loop through all `*.flac` files in the current working directory:
for %%I in ("*.flac") do (
rem // The `~`-modifiers remove quotes and extract path/name parts:
ffmpeg -i "%%~I" -c:v copy -c:a alac "%%~nI.m4a"
)
for %I in ("*.flac") do @ffmpeg -i "%~I" -c:v copy -c:a alac "%~nI.m4a"
forfiles /M "*.flac" /C "ffmpeg ffmpeg -i @file -c:v copy -c:a alac @fname.m4a"
-----------------------
rem // Loop through all `*.flac` files in the current working directory:
for %%I in ("*.flac") do (
rem // The `~`-modifiers remove quotes and extract path/name parts:
ffmpeg -i "%%~I" -c:v copy -c:a alac "%%~nI.m4a"
)
for %I in ("*.flac") do @ffmpeg -i "%~I" -c:v copy -c:a alac "%~nI.m4a"
forfiles /M "*.flac" /C "ffmpeg ffmpeg -i @file -c:v copy -c:a alac @fname.m4a"
-----------------------
rem // Loop through all `*.flac` files in the current working directory:
for %%I in ("*.flac") do (
rem // The `~`-modifiers remove quotes and extract path/name parts:
ffmpeg -i "%%~I" -c:v copy -c:a alac "%%~nI.m4a"
)
for %I in ("*.flac") do @ffmpeg -i "%~I" -c:v copy -c:a alac "%~nI.m4a"
forfiles /M "*.flac" /C "ffmpeg ffmpeg -i @file -c:v copy -c:a alac @fname.m4a"
Inconsistent frame number with ffmpeg
ffmpeg -y -r 60 -f lavfi -i testsrc=size=384x256:rate=1 -vf "setpts=N/60/TB" -g 60 -vcodec libx265 -x265-params crf=28:bframes=3:b-adapt=0 -tag:v hvc1 -pix_fmt yuv420p -t 20 test_video.mp4
ffprobe -i test_video.mp4 -show_frames -show_entries frame=pict_type
ffmpeg -i test_video.mp4 -f segment -vcodec copy -reset_timestamps 1 -segment_time 5 clips/part_%d.mp4
ffprobe -i part_1.mp4 -show_packets
-----------------------
ffmpeg -y -r 60 -f lavfi -i testsrc=size=384x256:rate=1 -vf "setpts=N/60/TB" -g 60 -vcodec libx265 -x265-params crf=28:bframes=3:b-adapt=0 -tag:v hvc1 -pix_fmt yuv420p -t 20 test_video.mp4
ffprobe -i test_video.mp4 -show_frames -show_entries frame=pict_type
ffmpeg -i test_video.mp4 -f segment -vcodec copy -reset_timestamps 1 -segment_time 5 clips/part_%d.mp4
ffprobe -i part_1.mp4 -show_packets
-----------------------
ffmpeg -y -r 60 -f lavfi -i testsrc=size=384x256:rate=1 -vf "setpts=N/60/TB" -g 60 -vcodec libx265 -x265-params crf=28:bframes=3:b-adapt=0 -tag:v hvc1 -pix_fmt yuv420p -t 20 test_video.mp4
ffprobe -i test_video.mp4 -show_frames -show_entries frame=pict_type
ffmpeg -i test_video.mp4 -f segment -vcodec copy -reset_timestamps 1 -segment_time 5 clips/part_%d.mp4
ffprobe -i part_1.mp4 -show_packets
-----------------------
ffmpeg -y -r 60 -f lavfi -i testsrc=size=384x256:rate=1 -vf "setpts=N/60/TB" -g 60 -vcodec libx265 -x265-params crf=28:bframes=3:b-adapt=0 -tag:v hvc1 -pix_fmt yuv420p -t 20 test_video.mp4
ffprobe -i test_video.mp4 -show_frames -show_entries frame=pict_type
ffmpeg -i test_video.mp4 -f segment -vcodec copy -reset_timestamps 1 -segment_time 5 clips/part_%d.mp4
ffprobe -i part_1.mp4 -show_packets
Apache mpm event shared memory error - ffmpeg-python Error while opening encoder for output stream #0:1 when accessed by multiple instances
a2dismod fcgid
systemctl restart apache2
cvlc cannot play rtsp (omxplayer instead can)
/snap/bin/vlc rtsp://...
sudo apt-get build-dep vlc vlc-plugin-qt phonon4qt5-backend-vlc
sudo apt-get install libqscintilla2-qt5-dev libqt5charts5-dev qtdeclarative5-dev libqt5gstreamer-dev libqt5opengl5-dev phonon4qt5-backend-vlc libqt53dcore5 qtquickcontrols2-5-dev
git clone git://git.videolan.org/vlc.git
cd vlc
./bootstrap
cd contrib
mkdir native
cd native
../bootstrap
make (stop with error : protoc system version 3.12.4 and required version 3.1.0 do not match)
cd ../../
./configure --prefix=/usr/local --enable-merge-ffmpeg --enable-live555
make
-----------------------
/snap/bin/vlc rtsp://...
sudo apt-get build-dep vlc vlc-plugin-qt phonon4qt5-backend-vlc
sudo apt-get install libqscintilla2-qt5-dev libqt5charts5-dev qtdeclarative5-dev libqt5gstreamer-dev libqt5opengl5-dev phonon4qt5-backend-vlc libqt53dcore5 qtquickcontrols2-5-dev
git clone git://git.videolan.org/vlc.git
cd vlc
./bootstrap
cd contrib
mkdir native
cd native
../bootstrap
make (stop with error : protoc system version 3.12.4 and required version 3.1.0 do not match)
cd ../../
./configure --prefix=/usr/local --enable-merge-ffmpeg --enable-live555
make
FFMPEG- Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted Error initializing output stream 0:2 --
ffmpeg -f webm_dash_manifest -i 480p.webm -f webm_dash_manifest -i 720p.webm -f webm_dash_manifest -i audio.webm -c copy -map 0 -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2" manifest.xml
Cannot play mp4 video with ffplay, but mpv can
ffplay -codec:v h264 input.mp4
Simultaneously adding a 2-second delay and delaying one of the inputs in -ffmpeg-
ffmpeg -i r.mp4 -i s.mp4 -i t.mp4 -i u.mp4 -i v.mp4 -i w.mp4 -i x.mp4 -i y.mp4 -i z.mp4 -filter_complex "[0:v]tpad=start_duration=3,scale=iw/5:-1[v0];[1:v]tpad=start_duration=3,scale=iw/5:-1[v1];[2:v]tpad=start_duration=3,scale=iw/5:-1[v2];[3:v]scale=iw/5:-1[v3];[4:v]tpad=start_duration=3,scale=iw/5:-1[v4];[5:v]tpad=start_duration=3,scale=iw/5:-1[v5];[6:v]tpad=start_duration=3,scale=iw/5:-1[v6];[7:v]tpad=start_duration=3,scale=iw/5:-1[v7];[8:v]tpad=start_duration=3,scale=iw/5:-1[v8];[0:a]adelay=3s:all=true[a0];[1:a]adelay=3s:all=true[a1];[2:a]adelay=3s:all=true[a2];[4:a]adelay=0s:all=true[a4];[5:a]adelay=3s:all=true[a5];[6:a]adelay=3s:all=true[a6];[7:a]adelay=3s:all=true[a7];[8:a]adelay=3s:all=true[a8];[v0][v1][v2][v3][v4][v5][v6][v7][v8]xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w4_0|w0+w4_h0|w0+w4_h0+h1;[a0][a1][a2][3:a][a4][a5][a6][a7][a8]amix=inputs=9" output.mp4
Displaying 25 inputs into a 5x5 grid using -ffmpeg- with the correct layout code
ffmpeg -i a.mp4 -i b.mp4 -i c.mp4 -i d.mp4 -i e.mp4 -i f.mp4 -i g.mp4 -i h.mp4 -i i.mp4 -i j.mp4 -i k.mp4 -i l.mp4 -i m.mp4 -i n.mp4 -i o.mp4 -i p.mp4 -i q.mp4 -i r.mp4 -i s.mp4 -i t.mp4 -i u.mp4 -i v.mp4 -i w.mp4 -i x.mp4 -i y.mp4 \
-filter_complex \
"[0:v]scale=iw/5:-1[v0];[1:v]scale=iw/5:-1[v1];[2:v]scale=iw/5:-1[v2]; \
[3:v]scale=iw/5:-1[v3];[4:v]scale=iw/5:-1[v4];[5:v]scale=iw/5:-1[v5]; \
[6:v]scale=iw/5:-1[v6];[7:v]scale=iw/5:-1[v7];[8:v]scale=iw/5:-1[v8]; \
[9:v]scale=iw/5:-1[v9];[10:v]scale=iw/5:-1[v10];[11:v]scale=iw/5:-1[v11]; \
[12:v]scale=iw/5:-1[v12];[13:v]scale=iw/5:-1[v13];[14:v]scale=iw/5:-1[v14]; \
[15:v]scale=iw/5:-1[v15];[16:v]scale=iw/5:-1[v16];[17:v]scale=iw/5:-1[v17]; \
[18:v]scale=iw/5:-1[v18];[19:v]scale=iw/5:-1[v19];[20:v]scale=iw/5:-1[v20]; \
[21:v]scale=iw/5:-1[v21];[22:v]scale=iw/5:-1[v22];[23:v]scale=iw/5:-1[v23]; \
[24:v]scale=iw/5:-1[v24]; \
[v0][v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11][v12][v13][v14][v15][v16][v17][v18][v19][v20][v21][v22][v23][v24]xstack=inputs=25:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2|0_h0+h1+h2+h3|w0_0|w0_h0|w0_h0+h1|w0_h0+h1+h2|w0_h0+h1+h2+h3|w0+w4_0|w0+w4_h0|w0+w4_h0+h1|w0+w4_h0+h1+h2|w0+w4_h0+h1+h2+h3|w0+w4+w8_0|w0+w4+w8_h0|w0+w4+w8_h0+h1|w0+w4+w8_h0+h1+h2|w0+w4+w8_h0+h1+h2+h3|w0+w4+w8+w12_0|w0+w4+w8+w12_h0|w0+w4+w8+w12_h0+h1|w0+w4+w8+w12_h0+h1+h2|w0+w4+w8+w12_h0+h1+h2+h3; \
[0:a][1:a][2:a][3:a][4:a][5:a][6:a][7:a][8:a][9:a][10:a][11:a][12:a][13:a][14:a][15:a][16:a][17:a][18:a][19:a][20:a][21:a][22:a][23:a][24:a]amix=inputs=25" \
output.mp4
QUESTION
ffmpeg copy codec outputs in slowmotion
Asked 2022-Apr-08 at 00:16i have the following scenario that is driving me crazy:
i have a capture device. Here the ffprobe on it:
pi@skycam:~ $ ffprobe /dev/video0
ffprobe version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2007-2020 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --libdir=/usr/lib/arm-linux-gnueabihf --cpu=arm1176jzf-s --arch=arm
WARNING: library configuration mismatch
avutil configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
avcodec configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
avformat configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
avdevice configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
avfilter configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
avresample configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
swscale configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
swresample configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
postproc configuration: --prefix=/usr --extra-version='1~deb10u1+rpt2' --toolchain=hardened --incdir=/usr/include/arm-linux-gnueabihf --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-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-neon --enable-rpi --enable-vout-drm --enable-v4l2-request --enable-libudev --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --libdir=/usr/lib/arm-linux-gnueabihf/neon/vfp --cpu=cortex-a7 --arch=armv6t2 --disable-thumb --enable-shared --disable-doc --disable-programs
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
[mjpeg @ 0x18a79b0] No JPEG data found in image
[mjpeg @ 0x18a79b0] Found EOI before any SOF, ignoring
[mjpeg @ 0x18a79b0] No JPEG data found in image
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 3716.774220, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
now i want to record via FFMPEG as smooth as possible.
therefore i tested and the following command is giving me a good result:
ffmpeg -r 60 -an -i /dev/video0 -preset ultrafast -vcodec copy test.mjpeg
but the problem is, i get the result in slowmotion. it seems like the mjpeg file is played back in VLC in half speed. Why is this happening?
thanks a lot, cheers Rudi
edit: here the output:
[mjpeg @ 0x762250] No JPEG data found in image
[mjpeg @ 0x762250] Found EOI before any SOF, ignoring
[mjpeg @ 0x762250] No JPEG data found in image
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 5174.036617, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Output #0, mjpeg, to '/home/pi/java_workspace/skycam_data/test14.mjpeg':
Metadata:
encoder : Lavf58.20.100
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, q=2-31, 60 fps, 60 tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 33 fps=0.0 q=-1.0 size= 2560kB time=00:00:00.51 bitrate=40952.2kbits/s speed=1.01x
frame= 63 fps= 63 q=-1.0 size= 5120kB time=00:00:01.01 bitrate=41434.6kbits/s speed= 1x
frame= 94 fps= 62 q=-1.0 size= 7680kB time=00:00:01.53 bitrate=41062.1kbits/s speed=1.01x
frame= 124 fps= 61 q=-1.0 size= 10496kB time=00:00:02.03 bitrate=42309.4kbits/s speed=1.01x
frame= 154 fps= 61 q=-1.0 size= 13568kB time=00:00:02.53 bitrate=43890.8kbits/s speed= 1x
frame= 184 fps= 61 q=-1.0 size= 17152kB time=00:00:03.03 bitrate=46334.8kbits/s speed= 1x
frame= 214 fps= 61 q=-1.0 size= 20736kB time=00:00:03.53 bitrate=48087.4kbits/s speed= 1x
frame= 245 fps= 61 q=-1.0 size= 25088kB time=00:00:04.04 bitrate=50763.2kbits/s speed= 1x
output of ffplay on the same file:
./ffplay test14.mjpeg
ffplay version N-106494-g1291568c98-tessus Copyright (c) 2003-2022 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --enable-librtmp --enable-ffplay --enable-sdl2 --disable-ffmpeg --disable-ffprobe
libavutil 57. 24.101 / 57. 24.101
libavcodec 59. 25.100 / 59. 25.100
libavformat 59. 20.101 / 59. 20.101
libavdevice 59. 6.100 / 59. 6.100
libavfilter 8. 30.100 / 8. 30.100
libswscale 6. 6.100 / 6. 6.100
libswresample 4. 6.100 / 4. 6.100
libpostproc 56. 5.100 / 56. 5.100
[mjpeg @ 0x7fd70be22500] Format mjpeg detected only with low score of 12, misdetection possible!
[mjpeg @ 0x7fd70be2bfc0] Found EOI before any SOF, ignoring
Input #0, mjpeg, from 'test14.mjpeg':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, 25 tbr, 1200k tbn
[mjpeg @ 0x7fd70bd91600] Found EOI before any SOF, ignoring
[swscaler @ 0x7fd70e043000] [swscaler @ 0x7fd70e7eb000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7fd70e043000] [swscaler @ 0x7fd70f923000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7fd70e043000] [swscaler @ 0x7fd70f932000] deprecated pixel format used, make sure you did set range correctly
ANSWER
Answered 2022-Apr-08 at 00:16*.mjpeg
is a raw stream format. FFmpeg documentation states of raw muxers: "They do not store timestamps or metadata." So, instead try storing the data in an mp4 container:
ffmpeg -r 60 -an -i /dev/video0 -vcodec copy test.mp4
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
No vulnerabilities reported
Save this library and start creating your kit
Explore Related Topics
Save this library and start creating your kit