
Recherche avancée
Autres articles (65)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (9179)
-
Cannot merge VisualSampleEntry error while appending videos in MP4parser
13 août 2021, par Abhishek IppakayalI am creating four videos with ffmpeg and then i am appending them with MP4parser.
Details of four videos that i am creating with ffmpeg.


- 

- 1,2 video : created using one image




[-loop, 1, -i, Count_1627453922.jpg, -s, 720x1280, -vf, format=yuv420p,fps=25,fade=type=in:duration=1,fade=type=out:duration=1:start_time=1, -t, 2, -preset, ultrafast, CountImageVideo_1627453922.mp4]



- 

- 3,4 video : trimming 3 second video from an existing mp4 video




[-i, footages_5_1624263519549.mp4, -ss, 00:00:00, -to, 00:00:02, -s, 720x1280, -r, 25, -preset, ultrafast, One_1627453926.mp4]



Now i am trying to append all these videos with MP4Parser and getting below error :


java.io.IOException: Cannot merge VisualSampleEntry[com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox@f3f76444] and VisualSampleEntry[com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox@e20a2ed0]
 at com.googlecode.mp4parser.authoring.tracks.AppendTrack.mergeStsds(AppendTrack.java:116)
 at com.googlecode.mp4parser.authoring.tracks.AppendTrack.<init>(AppendTrack.java:59)
</init>


I have done some debugging and found something that can help understand error better.
Sample Description boxes of two videos


Two video tracks have different formats (MP4v & AVC1). I am new to ffmpeg and MP4parser so did not getting what i am doing wrong. Thanks ! in advance.


Logs of all video creation ffmpeg command and error of mp4parser


Copyright (c) 2000-2020 the FFmpeg developers
I: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
I: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android16-clang --cxx=i686-linux-android16-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
I: libavutil 56. 55.100 / 56. 55.100
I: libavcodec 58. 96.100 / 58. 96.100
I: libavformat 58. 48.100 / 58. 48.100
I: libavdevice 58. 11.101 / 58. 11.101
I: libavfilter 7. 87.100 / 7. 87.100
I: libswscale 5. 8.100 / 5. 8.100
I: libswresample 3. 8.100 / 3. 8.100
I: Input #0, png_pipe, from '1628829731.jpg':
I: Duration: 
I: N/A
I: , bitrate: 
I: N/A
I: Stream #0:0
I: : Video: png, rgb24(pc), 1280x592
I: , 
I: 25 fps, 
I: 25 tbr, 
I: 25 tbn, 
I: 25 tbc
I: Input #1, lavfi, from 'anullsrc':
I: Duration: 
I: N/A
I: , start: 
I: 0.000000
I: , bitrate: 
I: 705 kb/s
I: Stream #1:0
I: : Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
W: Codec AVOption preset (Configuration preset) specified for output file #0 (FootageVideo_1628829747.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.
I: Stream mapping:
I: Stream #0:0 -> #0:0
I: (png (native) -> mpeg4 (native))
I: Stream #1:0 -> #0:1
I: (pcm_u8 (native) -> aac (native))
I: Press [q] to stop, [?] for help
W: [graph 0 input from stream 0:0 @ 0xbdf3a220] sws_param option is deprecated and ignored
I: Output #0, mp4, to 'FootageVideo_1628829747.mp4':
I: Metadata:
I: encoder : 
I: Lavf58.48.100
I: Stream #0:0
I: : Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 1280x592, q=2-31, 200 kb/s
I: , 
I: 24 fps, 
I: 12288 tbn, 
I: 24 tbc
I: Metadata:
I: encoder : 
I: Lavc58.96.100 mpeg4
I: Side data:
I: 
I: cpb: 
I: bitrate max/min/avg: 0/0/200000 buffer size: 0 
I: vbv_delay: N/A
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: Stream #0:1
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
I: Metadata:
I: encoder : 
I: Lavc58.96.100 aac
I: Background young concurrent copying GC freed 20080(1054KB) AllocSpace objects, 9(2100KB) LOS objects, 7% free, 26MB/29MB, paused 4.477ms total 113.190ms
I: frame= 9 fps=0.0 q=13.8 size= 0kB time=00:00:00.34 bitrate= 1.0kbits/s speed=0.665x 
I: frame= 24 fps= 23 q=24.9 size= 0kB time=00:00:00.97 bitrate= 0.4kbits/s speed=0.953x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 40 fps= 26 q=21.0 size= 0kB time=00:00:01.64 bitrate= 0.2kbits/s speed=1.07x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 55 fps= 27 q=23.7 size= 0kB time=00:00:02.27 bitrate= 0.2kbits/s speed= 1.1x 
I: frame= 71 fps= 28 q=31.0 size= 256kB time=00:00:02.92 bitrate= 716.9kbits/s speed=1.13x 
I: frame= 72 fps= 27 q=31.0 Lsize= 307kB time=00:00:03.01 bitrate= 832.4kbits/s speed=1.14x 
I: video:303kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
I: 1.018265%
I: [aac @ 0xbdf43c00] Qavg: 65536.000
I: Image to video: 0 : 674960272
I: [-loop, 1, -i, Count_1628829749.jpg, -f, lavfi, -i, anullsrc, -s, 1280x592, -vf, scale='if(gt(a,1280/592),1280,-1)':'if(gt(a1280/592),-1,592)',format=yuv420p,fps=24,fade=type=in:duration=1,fade=type=out:duration=1:start_time=1, -t, 2, -preset, ultrafast, CountImageVideo_1628829749.mp4]
I: [-loop, 1, -i, Count_1628829749.jpg, -f, lavfi, -i, anullsrc, -s, 1280x592, -vf, scale='if(gt(a,1280/592),1280,-1)':'if(gt(a1280/592),-1,592)',format=yuv420p,fps=24,fade=type=in:duration=1,fade=type=out:duration=1:start_time=1, -t, 2, -preset, ultrafast, CountImageVideo_1628829749.mp4]
I: Image to Video: [-loop, 1, -i, Count_1628829749.jpg, -f, lavfi, -i, anullsrc, -s, 1280x592, -vf, scale='if(gt(a,1280/592),1280,-1)':'if(gt(a1280/592),-1,592)',format=yuv420p,fps=24,fade=type=in:duration=1,fade=type=out:duration=1:start_time=1, -t, 2, -preset, ultrafast, CountImageVideo_1628829749.mp4]
I: ffmpeg version v4.4-dev-416
I: Copyright (c) 2000-2020 the FFmpeg developers
I: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
I: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android16-clang --cxx=i686-linux-android16-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
I: libavutil 56. 55.100 / 56. 55.100
I: libavcodec 58. 96.100 / 58. 96.100
I: libavformat 58. 48.100 / 58. 48.100
I: libavdevice 58. 11.101 / 58. 11.101
I: libavfilter 7. 87.100 / 7. 87.100
I: libswscale 5. 8.100 / 5. 8.100
I: libswresample 3. 8.100 / 3. 8.100
I: Input #0, png_pipe, from 'Count_1628829749.jpg':
I: Duration: 
I: N/A
I: , bitrate: 
I: N/A
I: Stream #0:0
I: : Video: png, rgba(pc), 1794x1080
I: , 
I: 25 fps, 
I: 25 tbr, 
I: 25 tbn, 
I: 25 tbc
I: Input #1, lavfi, from 'anullsrc':
I: Duration: 
I: N/A
I: , start: 
I: 0.000000
I: , bitrate: 
I: 705 kb/s
I: Stream #1:0
I: : Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
W: Codec AVOption preset (Configuration preset) specified for output file #0 (CountImageVideo_1628829749.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.
I: Stream mapping:
I: Stream #0:0 -> #0:0
I: (png (native) -> mpeg4 (native))
I: Stream #1:0 -> #0:1
I: (pcm_u8 (native) -> aac (native))
I: Press [q] to stop, [?] for help
W: [graph 0 input from stream 0:0 @ 0xbe554440] sws_param option is deprecated and ignored
I: Output #0, mp4, to 'CountImageVideo_1628829749.mp4':
I: Metadata:
I: encoder : 
I: Lavf58.48.100
I: Stream #0:0
I: : Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 1280x592, q=2-31, 200 kb/s
I: , 
I: 24 fps, 
I: 12288 tbn, 
I: 24 tbc
I: Metadata:
I: encoder : 
I: Lavc58.96.100 mpeg4
I: Side data:
I: 
I: cpb: 
I: bitrate max/min/avg: 0/0/200000 buffer size: 0 
I: vbv_delay: N/A
I: Stream #0:1
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
I: Metadata:
I: encoder : 
I: Lavc58.96.100 aac
W: Not supplying enough data to HAL, expected position 1243219441 , only wrote 1243083210
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 3 fps=0.0 q=2.0 size= 0kB time=00:00:00.09 bitrate= 3.8kbits/s speed=0.289x 
I: frame= 11 fps=0.0 q=2.0 size= 0kB time=00:00:00.44 bitrate= 0.8kbits/s speed=0.521x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 18 fps= 13 q=2.0 size= 0kB time=00:00:00.71 bitrate= 0.5kbits/s speed=0.532x 
I: frame= 26 fps= 14 q=2.0 size= 0kB time=00:00:01.06 bitrate= 0.3kbits/s speed=0.571x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 35 fps= 14 q=2.0 size= 0kB time=00:00:01.43 bitrate= 0.2kbits/s speed=0.595x 
I: frame= 43 fps= 14 q=2.0 size= 0kB time=00:00:01.76 bitrate= 0.2kbits/s speed=0.593x 
D: onUnbind: Intent { act=com.google.android.gms.wallet.service.BIND pkg=com.google.android.gms }
D: onUnbind: Intent { act=com.google.android.mdd.service.START cmp=com.google.android.gms/.chimera.GmsBoundBrokerService }
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 48 fps= 14 q=2.0 Lsize= 75kB time=00:00:02.02 bitrate= 303.7kbits/s speed=0.586x 
I: video:72kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
I: 3.472700%
I: [aac @ 0xbdf69c00] Qavg: 65536.000
I: Count Image to video: 0 : 674963874
I: Start Video Query: [-i, iOS_footages_4_1627755471638.mp4, -ss, 00:00:02, -to, 00:00:05, -s, 1280x592, -r, 24, -preset, ultrafast, TilePartOne_1628829753.mp4]
I: ffmpeg version v4.4-dev-416
I: Copyright (c) 2000-2020 the FFmpeg developers
I: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
I: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android16-clang --cxx=i686-linux-android16-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
I: libavutil 56. 55.100 / 56. 55.100
I: libavcodec 58. 96.100 / 58. 96.100
I: libavformat 58. 48.100 / 58. 48.100
I: libavdevice 58. 11.101 / 58. 11.101
I: libavfilter 7. 87.100 / 7. 87.100
I: libswscale 5. 8.100 / 5. 8.100
I: libswresample 3. 8.100 / 3. 8.100
I: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'iOS_footages_4_1627755471638.mp4':
I: Metadata:
I: major_brand : 
I: qt 
I: minor_version : 
I: 0
I: compatible_brands: 
I: qt 
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: com.apple.quicktime.author: 
I: ReplayKitRecording
I: Duration: 
I: 00:03:34.00
I: , start: 
I: 0.000000
I: , bitrate: 
I: 2183 kb/s
I: Stream #0:0
I: (und)
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 37 kb/s
I: (default)
I: Metadata:
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Audio
I: Stream #0:1
I: (und)
I: : Video: h264 (avc1 / 0x31637661), yuvj420p(pc, bt709), 592x1280, 2139 kb/s
I: , 
I: 38.89 fps, 
I: 59.94 tbr, 
I: 600 tbn, 
I: 1200 tbc
I: (default)
I: Metadata:
I: rotate : 
I: 270
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Video
I: encoder : 
I: H.264
I: Side data:
I: 
I: displaymatrix: rotation of 90.00 degrees
W: Codec AVOption preset (Configuration preset) specified for output file #0 (TilePartOne_1628829753.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.
I: Stream mapping:
I: Stream #0:1 -> #0:0
I: (h264 (native) -> mpeg4 (native))
I: Stream #0:0 -> #0:1
I: (aac (native) -> aac (native))
I: Press [q] to stop, [?] for help
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
W: [graph 0 input from stream 0:1 @ 0xedd7fca0] sws_param option is deprecated and ignored
W: [swscaler @ 0xb645a800] deprecated pixel format used, make sure you did set range correctly
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
E: Couldn't load memtrack module
W: failed to get memory consumption info: -1
I: Output #0, mp4, to 'TilePartOne_1628829753.mp4':
I: Metadata:
I: major_brand : 
I: qt 
I: minor_version : 
I: 0
I: compatible_brands: 
I: qt 
I: com.apple.quicktime.author: 
I: ReplayKitRecording
I: encoder : 
I: Lavf58.48.100
I: Stream #0:0
I: (und)
I: : Video: mpeg4 (mp4v / 0x7634706D), yuv420p(progressive), 1280x592, q=2-31, 200 kb/s
I: , 
I: 24 fps, 
I: 12288 tbn, 
I: 24 tbc
I: (default)
I: Metadata:
I: encoder : 
I: Lavc58.96.100 mpeg4
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Video
I: Side data:
I: 
I: cpb: 
I: bitrate max/min/avg: 0/0/200000 buffer size: 0 
I: vbv_delay: N/A
I: 
I: displaymatrix: rotation of -0.00 degrees
I: Stream #0:1
I: (und)
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
I: (default)
I: Metadata:
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Audio
I: encoder : 
I: Lavc58.96.100 aac
I: frame= 6 fps=6.0 q=5.8 size= 0kB time=00:00:00.20 bitrate= 1.7kbits/s speed=0.208x 
I: frame= 28 fps= 18 q=31.0 size= 0kB time=00:00:01.12 bitrate= 0.3kbits/s dup=0 drop=3 speed=0.736x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 44 fps= 22 q=31.0 size= 0kB time=00:00:01.79 bitrate= 0.2kbits/s dup=0 drop=15 speed=0.881x 
I: frame= 63 fps= 25 q=31.0 size= 0kB time=00:00:02.58 bitrate= 0.1kbits/s dup=0 drop=18 speed=1.01x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 72 fps= 24 q=31.0 size= 256kB time=00:00:02.95 bitrate= 709.0kbits/s dup=0 drop=19 speed=0.968x 
I: frame= 72 fps= 21 q=31.0 Lsize= 448kB time=00:00:03.01 bitrate=1215.1kbits/s dup=0 drop=19 speed=0.873x 
I: video:398kB audio:47kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
I: 0.696200%
I: Start video: 0 : 674967468
I: [aac @ 0xb8c6e400] Qavg: 667.684
I: End Video Query: [-i, iOS_footages_4_1627755471638.mp4, -ss, 00:00:05, -to, 00:00:08, -s, 1280x592, -r, 24, -preset, ultrafast, TilePartTwo_1628829756.mp4]
I: ffmpeg version v4.4-dev-416
I: Copyright (c) 2000-2020 the FFmpeg developers
I: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
I: configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android16-clang --cxx=i686-linux-android16-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/cpu-features/lib -lndk_compat' --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
I: libavutil 56. 55.100 / 56. 55.100
I: libavcodec 58. 96.100 / 58. 96.100
I: libavformat 58. 48.100 / 58. 48.100
I: libavdevice 58. 11.101 / 58. 11.101
I: libavfilter 7. 87.100 / 7. 87.100
I: libswscale 5. 8.100 / 5. 8.100
I: libswresample 3. 8.100 / 3. 8.100
I: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'iOS_footages_4_1627755471638.mp4':
I: Metadata:
I: major_brand : 
I: qt 
I: minor_version : 
I: 0
I: compatible_brands: 
I: qt 
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: com.apple.quicktime.author: 
I: ReplayKitRecording
I: Duration: 
I: 00:03:34.00
I: , start: 
I: 0.000000
I: , bitrate: 
I: 2183 kb/s
I: Stream #0:0
I: (und)
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 37 kb/s
I: (default)
I: Metadata:
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Audio
I: Stream #0:1
I: (und)
I: : Video: h264 (avc1 / 0x31637661), yuvj420p(pc, bt709), 592x1280, 2139 kb/s
I: , 
I: 38.89 fps, 
I: 59.94 tbr, 
I: 600 tbn, 
I: 1200 tbc
I: (default)
I: Metadata:
I: rotate : 
I: 270
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Video
I: encoder : 
I: H.264
I: Side data:
I: 
I: displaymatrix: rotation of 90.00 degrees
W: Codec AVOption preset (Configuration preset) specified for output file #0 (TilePartTwo_1628829756.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.
I: Stream mapping:
I: Stream #0:1 -> #0:0
I: (h264 (native) -> mpeg4 (native))
I: Stream #0:0 -> #0:1
I: (aac (native) -> aac (native))
I: Press [q] to stop, [?] for help
W: [graph 0 input from stream 0:1 @ 0xe2c97860] sws_param option is deprecated and ignored
W: [swscaler @ 0xb5d28a80] deprecated pixel format used, make sure you did set range correctly
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
I: Output #0, mp4, to 'TilePartTwo_1628829756.mp4':
I: Metadata:
I: major_brand : 
I: qt 
I: minor_version : 
I: 0
I: compatible_brands: 
I: qt 
I: com.apple.quicktime.author: 
I: ReplayKitRecording
I: encoder : 
I: Lavf58.48.100
I: Stream #0:0
I: (und)
I: : Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 1280x592, q=2-31, 200 kb/s
I: , 
I: 24 fps, 
I: 12288 tbn, 
I: 24 tbc
I: (default)
I: Metadata:
I: encoder : 
I: Lavc58.96.100 mpeg4
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Video
I: Side data:
I: 
I: cpb: 
I: bitrate max/min/avg: 0/0/200000 buffer size: 0 
I: vbv_delay: N/A
I: 
I: displaymatrix: rotation of -0.00 degrees
I: Stream #0:1
I: (und)
I: : Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
I: (default)
I: Metadata:
I: creation_time : 
I: 2021-07-31T18:17:18.000000Z
I: handler_name : 
I: Core Media Audio
I: encoder : 
I: Lavc58.96.100 aac
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x 
I: frame= 10 fps=4.9 q=18.5 size= 0kB time=00:00:00.37 bitrate= 0.9kbits/s speed=0.183x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 31 fps= 12 q=31.0 size= 0kB time=00:00:01.25 bitrate= 0.3kbits/s dup=0 drop=2 speed=0.491x 
I: frame= 52 fps= 17 q=31.0 size= 0kB time=00:00:02.12 bitrate= 0.2kbits/s dup=0 drop=5 speed=0.692x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 72 fps= 20 q=31.0 size= 0kB time=00:00:02.95 bitrate= 0.1kbits/s dup=0 drop=7 speed=0.827x 
I: frame= 72 fps= 18 q=31.0 size= 256kB time=00:00:02.95 bitrate= 709.0kbits/s dup=0 drop=7 speed=0.725x 
E: gnssSvStatusCb: a: input svInfo.flags is 8
E: gnssSvStatusCb: b: input svInfo.flags is 8
I: frame= 72 fps= 16 q=31.0 Lsize= 543kB time=00:00:03.01 bitrate=1472.6kbits/s dup=0 drop=7 speed=0.689x 
I: video:493kB audio:47kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
I: 0.573798%
I: [aac @ 0xc2f20000] Qavg: 669.561
I: Movie paths: [CountImageVideo_1628829749.mp4, TilePartTwo_1628829756.mp4, FootageVideo_1628829747.mp4]
 
 --------- beginning of crash
E: FATAL EXCEPTION: Thread-8
 Process: com.wev.app, PID: 21310
 java.io.IOException: Cannot merge VisualSampleEntry[com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox@ed48a2a8] and VisualSampleEntry[com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox@dc387090]
 at com.googlecode.mp4parser.authoring.tracks.AppendTrack.mergeStsds(AppendTrack.java:116)
 at com.googlecode.mp4parser.authoring.tracks.AppendTrack.<init>(AppendTrack.java:59)
 at Mp4Cutter2.combineClips(Mp4Cutter2.kt:208)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity.finalVideoGenerate(PlayVideoActivity.kt:3457)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity.endVideoCreate(PlayVideoActivity.kt:3383)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity.startVideoCreate(PlayVideoActivity.kt:3298)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity.countImageToVideo(PlayVideoActivity.kt:3220)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity.imageToVideo(PlayVideoActivity.kt:3158)
 at com.wev.app.ui.activity.videoplayer.PlayVideoActivity$createWev$1$getVideo$imageToVideo$1.run(PlayVideoActivity.kt:3056)
 
</init>


-
Receiving pixelated and laggy rtsp stream on vlc when
7 août 2021, par mohit krishnaI'm trying to live stream my webcam from raspi4 using ffmpeg as a rtsp stream .
The command i'm using to do so :


ffmpeg -f v4l2 -framerate 30 -video_size 640x480 -i /dev/video0 -c:v mpeg4 -pix_fmt yuv420p -f rtsp -rtsp_transport tcp rtsp://stream


when I receive the rtsp stream using opencv , I get the desired output :




When I try to receive the said stream using vlc , it's pixelated , gray and laggy :




Edit :

Here's the log :


ffmpeg version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2000-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
Input #0, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 44850.006539, bitrate: 147456 kb/s
 Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 147456 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, rtsp, to 'rtsp://stream':
 Metadata:
 encoder : Lavf58.20.100
 Stream #0:0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 30 fps, 90k tbn, 30 tbc
 Metadata:
 encoder : Lavc58.35.100 mpeg4
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame= 29 fps=0.0 q=2.0 size=N/A time=00:00:00.93 bitrate=N/A dup=23 drop=0 speeframe= 44 fps= 44 q=1.6 size=N/A time=00:00:01.43 bitrate=N/A dup=33 drop=0 speeframe= 59 fps= 39 q=2.0 size=N/A time=00:00:01.93 bitrate=N/A dup=43 drop=0 speeframe= 74 fps= 37 q=2.5 size=N/A time=00:00:02.43 bitrate=N/A dup=53 drop=0 speeframe= 77 fps= 36 q=1.6 Lsize=N/A time=00:00:02.53 bitrate=N/A dup=55 drop=0 speed= 1.2x




-
Why can't I duplicate an MJPEG stream from a webcam to a V4L2 Loopback Device on Linux ?
17 août 2021, par Chris WhiteI'm trying to duplicate a USB webcam device V4L2 stream (/dev/video0) to a V4L2 Loopback Device (/dev/video99) at the highest resolution and framerate possible with the hardware available on a Raspberry Pi 4 running the latest Raspbian (also the minimum CPU load). I'm using FFMPEG version 7:4.1.6-1 deb10u1+rpt2 and v4l2loopback version 0.12.5.1.


The output from :

ffmpeg -f v4l2 -list_formats all -i /dev/video0
gives me the following :

[video4linux2,v4l2 @ 0xc1e1c0] Compressed: mjpeg : Motion-JPEG : 1600x1200 3264x2448 2592x1944 2048x1536 1280x960 1024x768 800x600 640x480 320x240 1600x1200
[video4linux2,v4l2 @ 0xc1e1c0] Raw : yuyv422 : YUYV 4:2:2 : 1600x1200 3264x2448 2592x1944 2048x1536 1280x960 1024x768 800x600 640x480 320x240 1600x1200



3264x2448px is the native CCD resolution, and the image is being used for machine vision purposes, so I'd like to use this maximum resolution at the highest framerate I can. The reason for the loopback device is so that I can view/stream the videofeed (with GStreamer) and take high resolution PNG snapshots simultaneously, using the command
ffmpeg -f v4l2 -video_size 3264x2448 -i /dev/video99 -frames 1 capture.png -y
From my understanding this means there is an MJPEG stream at this resolution and according to the commandv4l2-ctl -d /dev/video0 --list-formats-ext
I can manage 15fps :

ioctl: VIDIOC_ENUM_FMT
 Type: Video Capture

 [0]: 'MJPG' (Motion-JPEG, compressed)
 Size: Discrete 1600x1200
 Interval: Discrete 0.067s (15.000 fps)
 Interval: Discrete 0.067s (15.000 fps)
 Size: Discrete 3264x2448
 Interval: Discrete 0.067s (15.000 fps)
 Size: Discrete 2592x1944
 Interval: Discrete 0.067s (15.000 fps)
 Size: Discrete 2048x1536
 Interval: Discrete 0.067s (15.000 fps)
 Size: Discrete 1280x960
 Interval: Discrete 0.067s (15.000 fps)
 Size: Discrete 1024x768
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 800x600
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 640x480
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 320x240
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 1600x1200
 Interval: Discrete 0.067s (15.000 fps)
 Interval: Discrete 0.067s (15.000 fps)
 [1]: 'YUYV' (YUYV 4:2:2)
 Size: Discrete 1600x1200
 Interval: Discrete 0.100s (10.000 fps)
 Interval: Discrete 0.100s (10.000 fps)
 Size: Discrete 3264x2448
 Interval: Discrete 0.500s (2.000 fps)
 Size: Discrete 2592x1944
 Interval: Discrete 0.333s (3.000 fps)
 Size: Discrete 2048x1536
 Interval: Discrete 0.333s (3.000 fps)
 Size: Discrete 1280x960
 Interval: Discrete 0.100s (10.000 fps)
 Size: Discrete 1024x768
 Interval: Discrete 0.100s (10.000 fps)
 Size: Discrete 800x600
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 640x480
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 320x240
 Interval: Discrete 0.033s (30.000 fps)
 Size: Discrete 1600x1200
 Interval: Discrete 0.100s (10.000 fps)
 Interval: Discrete 0.100s (10.000 fps)



I feel like I've tried every possible version of GStreamer/FFMPEG command to achieve this and have had varying success, but more often than not I come up against "av_interleaved_write_frame() : Cannot allocate memory" or some issue with converting M-JPEG to rawvideo for the loopback device...


What command should I be using ? I'm at the end of my tether !


I've tried :


gst-launch-1.0 v4l2src device=/dev/video0 ! "image/jpeg,width=3264,height=2448,framerate=15/1" ! avdec_mjpeg ! "video/x-raw,format=YUY2,width=3264,height=2448,framerate=15/1" ! v4l2sink device=/dev/video99



and


ffmpeg -f v4l2 -video_size 3264x2448 -i /dev/video0 -vcodec rawvideo -pix_fmt yuyv422 -r 1 -f v4l2 /dev/video99



(EDIT) gives :


ffmpeg version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2000-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
 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
Input #0, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 14226.770484, bitrate: 255688 kb/s
 Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 3264x2448, 255688 kb/s, 2 fps, 2 tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, video4linux2,v4l2, to '/dev/video99':
 Metadata:
 encoder : Lavf58.20.100
 Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 3264x2448, q=2-31, 127844 kb/s, 1 fps, 1 tbn, 1 tbc
 Metadata:
 encoder : Lavc58.35.100 rawvideo
av_interleaved_write_frame(): Cannot allocate memory
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:01.00 bitrate=N/A speed=15.8x 
video:15606kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!



and


ffmpeg -f v4l2 -video_size 3264x2448 -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -r 15 -f v4l2 /dev/video99



(EDIT) gives :


ffmpeg version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2000-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
 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
Input #0, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 13704.103283, bitrate: 255688 kb/s
 Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 3264x2448, 255688 kb/s, 2 fps, 2 tbr, 1000k tbn, 1000k tbc
Stream mapping:
 Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
Press [q] to stop, [?] for help
Output #0, video4linux2,v4l2, to '/dev/video99':
 Metadata:
 encoder : Lavf58.20.100
 Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 3264x2448, q=2-31, 1438248 kb/s, 15 fps, 15 tbn, 15 tbc
 Metadata:
 encoder : Lavc58.35.100 rawvideo
av_interleaved_write_frame(): Cannot allocate memory
 Last message repeated 7 times
frame= 8 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.53 bitrate=N/A dup=7 drop=0 speed=1.37x 
video:93636kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!



and


ffmpeg -f v4l2 -input_format mjpeg -i /dev/video0 -vcodec copy -f v4l2 /dev/video99



(EDIT) gives :


ffmpeg version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2000-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
 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 @ 0xdb5240] EOI missing, emulating
Input #0, video4linux2,v4l2, from '/dev/video0':
 Duration: N/A, start: 12511.425271, bitrate: N/A
 Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 3264x2448, 15 fps, 15 tbr, 1000k tbn, 1000k tbc
[video4linux2,v4l2 @ 0xdb7f10] V4L2 output device supports only a single raw video stream
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Last message repeated 1 times



I'm not sure what to troubleshoot next - looking at available memory, there's no problem, so what am I doing wrong ? This copy of the feed is the last piece of the puzzle...