
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (64)
-
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs. -
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 -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)
Sur d’autres sites (8508)
-
FFMPEG recode clip1 to match clip2 for concat demux
21 novembre 2020, par Gert GottschalkI want to concat two video clips using ffmpeg concat. To use concat demuxer both should have same codec settings. clip2 is much shorter so I want to recode it to match clip1. Initially clip2 had tbn not matching and I adjusted that with '-video_track_timescale 50000'. Still the concat video after the cut into clip2 is garbled (audio seems OK)


This is what ffprobe tells for clip1 :


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09 01:16:52
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09 01:16:52
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09 01:17:45
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



From clip2


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.37.101
 comment : 
 Duration: 00:18:42.02, start: 0.000000, bitrate: 1693 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1553 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default)
 Metadata:
 handler_name : SoundHandler



Then for concat :


/home/tools/bin/ffmpeg -f concat -i list.files -y clip12.mp4



The only gap is with
clip1 : 2080 kb/s
clip2 : 1553 kb/s


Is that significant ?


If yes, how to recode clip2 to match and result in concat clip12 being clean ?


EDIT (Per feedback from llogan) :


Probing input clips with latest ffprobe.


Clip1 :


ffprobe version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09T01:16:52.000000Z
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09T01:16:52.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09T01:17:45.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



Command & log to change clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffmpeg -i clip2.avi -ss 00:12:55 -t 00:05:48 -c:v libx264 -profile:v main -video_track_timescale 50k -c:a copy -y clip2.mp4 2> ffmpeg_clip2.log
ffmpeg version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, avi, from 'clip2.avi':
 Metadata:
 comment : 
 encoder : Lavf58.42.100
 encoded_by : www.onlinetvrecorder.com
 Duration: 00:35:48.90, start: 0.000000, bitrate: 2243 kb/s
 Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 2034 kb/s, 50 fps, 50 tbr, 50 tbn, 100 tbc
 Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
...
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
[libx264 @ 0x71fb740] using SAR=1/1
[libx264 @ 0x71fb740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3
[libx264 @ 0x71fb740] profile Main, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x71fb740] 264 - core 161 r3027 4121277 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'clip2.mp4':
 Metadata:
 comment : 
 encoded_by : www.onlinetvrecorder.com
 encoder : Lavf58.64.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 50 fps, 50k tbn, 50 tbc
 Metadata:
 encoder : Lavc58.112.101 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s
frame= 15 fps=0.4 q=0.0 size= 0kB time=00:00:00.31 bitrate= 1.2kbits/s speed=0.00806x 
...
frame=17400 fps= 73 q=-1.0 Lsize= 62382kB time=00:05:47.97 bitrate=1468.6kbits/s speed=1.47x 
video:53846kB audio:8156kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.611439%
[libx264 @ 0x71fb740] frame I:157 Avg QP:18.21 size: 42082
[libx264 @ 0x71fb740] frame P:5607 Avg QP:22.21 size: 6677
[libx264 @ 0x71fb740] frame B:11636 Avg QP:23.93 size: 953
[libx264 @ 0x71fb740] consecutive B-frames: 8.3% 6.0% 5.0% 80.8%
[libx264 @ 0x71fb740] mb I I16..4: 47.5% 0.0% 52.5%
[libx264 @ 0x71fb740] mb P I16..4: 5.7% 0.0% 1.1% P16..4: 35.4% 6.2% 3.0% 0.0% 0.0% skip:48.4%
[libx264 @ 0x71fb740] mb B I16..4: 0.2% 0.0% 0.0% B16..8: 21.0% 0.4% 0.0% direct: 0.5% skip:77.9% L0:45.1% L1:53.8% BI: 1.2%
[libx264 @ 0x71fb740] coded y,uvDC,uvAC intra: 24.6% 38.3% 6.0% inter: 2.8% 4.7% 0.0%
[libx264 @ 0x71fb740] i16 v,h,dc,p: 43% 24% 15% 18%
[libx264 @ 0x71fb740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 20% 19% 6% 7% 6% 6% 6% 4%
[libx264 @ 0x71fb740] i8c dc,h,v,p: 57% 20% 20% 4%
[libx264 @ 0x71fb740] Weighted P-Frames: Y:0.5% UV:0.4%
[libx264 @ 0x71fb740] ref P L0: 70.3% 12.1% 14.0% 3.6% 0.0%
[libx264 @ 0x71fb740] ref B L0: 92.9% 5.9% 1.2%
[libx264 @ 0x71fb740] ref B L1: 97.5% 2.5%
[libx264 @ 0x71fb740] kb/s:1267.54



I'm observing mismatch in what I assume is the audio channel.


Clip1 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip1.mp4
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)



Clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip2.mp4 
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1267 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)



Probably need to match audio channel. I noticed that the concat too a long time. I was expecting the concat to just do copying and not re-rendering.


-
How can I send a virtual camera to Genymotion or Android Studio Emulator in Ubuntu ?
4 décembre 2020, par ykasurI created a virtual camera using v4l2loopback and ffmpeg. The command I use for ffmpeg is :
ffmpeg -re -l oop 1 -i vin.png -vf format=yuv420p -f v4l2 /dev/video2


vin.png is the image I want to stream to the webcam and /dev/video2 is the virtual webcam I created with v4l2loopback.
The virtual webcam works and I can see it e.g. with onlinemicetest.com/webcam-test.
I'm using the Genymotion emulator with the newest Android API (I tried 7.0, 8.1 and 10.0) on Ubuntu 20.40.
Genymotion detects the virtual camera but only displays a dummy image :
Wrong dummy Image from Genymotion
I also tried (and would prefer to use) the android studio emulator. But I can only select Webcam0 in the configuration of the device camera and that points to the real integrated camera and not to my virtual webcam.


I don't need to use ffmpeg, but I do need to use a tool that lets me control which image to stream from the command line.


Is there a way to solve this ? Many thanks in advance !


Update 17.11.2020 :
The Genymotion support answered me, that they plan to support virtual cameras in the future. They might be ready to add this in mid 2021.


-
ffmpeg sRGB jpgs to rec709 mov
9 mars 2021, par maxdownunderI'm trying to convert an sRGB jpeg sequence into a rec709 DnX Quicktime... but struggle to get the colormatrix right.


ffmpeg -y -f image2 -start_number 1 -framerate 24 -i input.%04d.jpg -c:v dnxhd -vf "scale=1920:1080,fps=24,format=yuv422p10,colorspace=all=bt709:itrc=srgb" -b:v 175M -c:a pcm_s16le output.mov



My understanding is this should set everything to rec709, but override the input response curve (itrc=srgb), but this fails with


Unsupported input primaries 2 (unknown)
Error while filtering: Invalid argument
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0



I haven't been able to come up with any combination of flags that doesn't trough an error and produces the right colors.


Some docs here : ffmpeg filters trc


Any help much appreciated !


Edit :
Full log :


$ ffmpeg -y -f image2 -start_number 1 -framerate 24 -i input.%04d.jpg -c:v dnxhd -vf "scale=1920:1080,fps=24,format=yuv422p10,colorspace=all=bt709:itrc=srgb" -b:v 175M -c:a pcm_s16le output.mov
ffmpeg version 4.3.1-2020-11-08-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --en
able-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-li
bmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, image2, from 'input.%04d.jpg':
 Duration: 00:00:00.13, start: 0.000000, bitrate: N/A
 Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 1200:1200 DAR 16:9], 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> dnxhd (native))
Press [q] to stop, [?] for help
[swscaler @ 0000026ac0f81600] deprecated pixel format used, make sure you did set range correctly
Output #0, mov, to 'output.mov':
 Metadata:
 encoder : Lavf58.45.100
 Stream #0:0: Video: dnxhd (DNXHD) (AVdn / 0x6E645641), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-1024, 175000 kb/s, 24 fps, 12288 tbn, 24 tbc
 Metadata:
 encoder : Lavc58.91.100 dnxhd
[Parsed_colorspace_3 @ 0000026ac0f7e080] Unsupported input primaries 2 (unknown)
Error while filtering: Invalid argument
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!