
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (59)
-
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 (...) -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (8326)
-
avutil/hwcontext_videotoolbox : Set CVBuffer CGColorSpace
20 mai 2024, par Marvin Scholzavutil/hwcontext_videotoolbox : Set CVBuffer CGColorSpace
In addition to the other properties, try to obtain the right
CGColorSpace and set it as well, else it could lead to a CVBuffer
tagged as BT.2020 but with a CGColorSpace indicating BT.709.Therefore it is essential for consistency to set a colorspace
according to the other values, or if none can be obtained (for example
because the other values are all unspecified) unset it as well.Fix #10884
Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>
-
Concat filter : Error initializing output stream
18 juin 2020, par Ittai BarkaiThis is a follow-up question to : Flutter (Dart) : Merge two videos and view the new output in the device’s gallery (photos)



In essence, I am trying to record two videos, merge them and then view the new video in the gallery. I am currently having some issues with the flutter_ffmpeg package.



I uploaded the my Flutter project onto GitHub here :



https://github.com/IttaiBarkai/Flutter-Video-Merger



Below is a snippet of my code used to execute ffmpeg :



void _videoMerger() async {

 final appDir = await syspaths.getApplicationDocumentsDirectory();
 String rawDocumentPath = appDir.path;
 final outputPath = '$rawDocumentPath/output.mp4';

 final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg();

 String commandToExecute = '-y -i ${_storedVideoOne.path} -i ${_storedVideoTwo.path} -filter_complex \'[0:0][1:0]concat=n=2:v=1:a=0[out]\' -map \'[out]\' $outputPath';
 _flutterFFmpeg.execute(commandToExecute).then((rc) => print("FFmpeg process exited with rc $rc"));

 }




and this is the output displayed on my debug console when ffmpeg gets executed :



D/flutter-ffmpeg(29135): Running FFmpeg with arguments: [-y, -i, /storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/1e8947f4-c9c2-4020-b78d-c40fb77ce0d16301015681843175998.mp4, -i, /storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/3555b190-a9a6-450d-b6a7-7d1b8fc89ad38627500242651150494.mp4, -filter_complex, [0:0][1:0]concat=n=2:v=1:a=0[out], -map, [out], /data/user/0/com.example.video_merger_two/app_flutter/output.mp4].
 I/mobile-ffmpeg(29135): Loading mobile-ffmpeg.
 I/mobile-ffmpeg(29135): Loaded mobile-ffmpeg-https-x86-4.3.1-20200125.
 D/mobile-ffmpeg(29135): Callback thread started.
 I/mobile-ffmpeg(29135): ffmpeg version git-2020-01-25-fd11dd500
 I/mobile-ffmpeg(29135): Copyright (c) 2000-2020 the FFmpeg developers
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): built with Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
 I/mobile-ffmpeg(29135): configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk-bundle/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-android24-clang --cxx=i686-linux-android24-clang++ --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --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 --di
 I/mobile-ffmpeg(29135): libavutil 56. 38.100 / 56. 38.100
 I/mobile-ffmpeg(29135): libavcodec 58. 65.102 / 58. 65.102
 I/mobile-ffmpeg(29135): libavformat 58. 35.101 / 58. 35.101
 I/mobile-ffmpeg(29135): libavdevice 58. 9.103 / 58. 9.103
 I/mobile-ffmpeg(29135): libavfilter 7. 70.101 / 7. 70.101
 I/mobile-ffmpeg(29135): libswscale 5. 6.100 / 5. 6.100
 I/mobile-ffmpeg(29135): libswresample 3. 6.100 / 3. 6.100
 I/mobile-ffmpeg(29135): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/1e8947f4-c9c2-4020-b78d-c40fb77ce0d16301015681843175998.mp4':
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): major_brand :
 I/mobile-ffmpeg(29135): mp42
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): minor_version :
 I/mobile-ffmpeg(29135): 0
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): compatible_brands:
 I/mobile-ffmpeg(29135): isommp42
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:00.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): com.android.version:
 I/mobile-ffmpeg(29135): 10
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Duration:
 I/mobile-ffmpeg(29135): 27:34:19.38
 I/mobile-ffmpeg(29135): , start:
 I/mobile-ffmpeg(29135): 0.000000
 I/mobile-ffmpeg(29135): , bitrate:
 I/mobile-ffmpeg(29135): 0 kb/s
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream #0:0
 I/mobile-ffmpeg(29135): (eng)
 I/mobile-ffmpeg(29135): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3554 kb/s
 I/mobile-ffmpeg(29135): , SAR 1:1 DAR 16:9
 I/mobile-ffmpeg(29135): ,
 I/mobile-ffmpeg(29135): 29.01 fps,
 I/mobile-ffmpeg(29135): 29 tbr,
 I/mobile-ffmpeg(29135): 90k tbn,
 I/mobile-ffmpeg(29135): 180k tbc 
 I/mobile-ffmpeg(29135): (default)
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): rotate :
 I/mobile-ffmpeg(29135): 90
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:00.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): handler_name :
 I/mobile-ffmpeg(29135): VideoHandle
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Side data:
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): displaymatrix: rotation of -90.00 degrees
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream #0:1
 I/mobile-ffmpeg(29135): (eng)
 I/mobile-ffmpeg(29135): : Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
 I/mobile-ffmpeg(29135): (default)
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:00.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): handler_name :
 I/mobile-ffmpeg(29135): SoundHandle
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/3555b190-a9a6-450d-b6a7-7d1b8fc89ad38627500242651150494.mp4':
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): major_brand :
 I/mobile-ffmpeg(29135): mp42
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): minor_version :
 I/mobile-ffmpeg(29135): 0
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): compatible_brands:
 I/mobile-ffmpeg(29135): isommp42
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:09.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): com.android.version:
 I/mobile-ffmpeg(29135): 10
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Duration:
 I/mobile-ffmpeg(29135): 27:34:19.62
 I/mobile-ffmpeg(29135): , start:
 I/mobile-ffmpeg(29135): 0.000000
 I/mobile-ffmpeg(29135): , bitrate:
 I/mobile-ffmpeg(29135): 0 kb/s
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream #1:0
 I/mobile-ffmpeg(29135): (eng)
 I/mobile-ffmpeg(29135): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3765 kb/s
 I/mobile-ffmpeg(29135): , SAR 1:1 DAR 16:9
 I/mobile-ffmpeg(29135): ,
 I/mobile-ffmpeg(29135): 28.80 fps,
 I/mobile-ffmpeg(29135): 29.08 tbr,
 I/mobile-ffmpeg(29135): 90k tbn,
 I/mobile-ffmpeg(29135): 180k tbc
 I/mobile-ffmpeg(29135): (default)
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): rotate :
 I/mobile-ffmpeg(29135): 90
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:09.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): handler_name :
 I/mobile-ffmpeg(29135): VideoHandle
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Side data:
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): displaymatrix: rotation of -90.00 degrees
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream #1:1
 I/mobile-ffmpeg(29135): (eng)
 I/mobile-ffmpeg(29135): : Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
 I/mobile-ffmpeg(29135): (default)
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Metadata:
 I/mobile-ffmpeg(29135): creation_time :
 I/mobile-ffmpeg(29135): 2020-06-17T18:26:09.000000Z
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): handler_name :
 I/mobile-ffmpeg(29135): SoundHandle
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream mapping:
 I/mobile-ffmpeg(29135): Stream #0:0 (h264) -> concat:in0:v0
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): Stream #1:0 (h264) -> concat:in1:v0
 I/mobile-ffmpeg(29135):
 I/mobile-ffmpeg(29135): concat
 I/mobile-ffmpeg(29135): -> Stream #0:0 (mpeg4)
 I/mobile-ffmpeg(29135): Press [q] to stop, [?] for help
 W/mobile-ffmpeg(29135): [graph 0 input from stream 0:0 @ 0xed087710] sws_param option is deprecated and ignored
 W/mobile-ffmpeg(29135): [graph 0 input from stream 1:0 @ 0xed086830] sws_param option is deprecated and ignored
 W/mobile-ffmpeg(29135): [mp4 @ 0xeccd8790] Frame rate very high for a muxer not efficiently supporting it.
 W/mobile-ffmpeg(29135): Please consider specifying a lower framerate, a different muxer or -vsync 2
 E/mobile-ffmpeg(29135): [mpeg4 @ 0xe68049d0] timebase 1/1000000 not supported by MPEG 4 standard, the maximum admitted value for the timebase denominator is 65535
 E/mobile-ffmpeg(29135): Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
 I/mobile-ffmpeg(29135): Conversion failed!
 D/flutter-ffmpeg(29135): FFmpeg exited with rc: 1
 I/flutter (29135): FFmpeg process exited with rc 1



-
How to get the output resolution after successful encode ?
11 janvier 2021, par Daniel Birowsky PopeskiI'm using fluent-ffmpeg and I'm already able to get the output resolution in the 'on end' event :


createFfmpegCommand()
 .input(fs.createReadStream(readPath))
 .noAudio()
 .fps(30)
 .format('mp4')
 .videoCodec('libx264')
 .videoFilter([
 {filter: 'scale', options: '1920:1920:force_original_aspect_ratio=decrease'},
 {filter: 'setpts', options: '1.5*PTS'},
 ])
 .outputOption('-crf 30')
 .outputOption('-movflags frag_keyframe')
 .outputOption('-movflags +faststart')
 .output(mp4WriteStream)
 .on('start', () => console.log('processing started'))
 .on('error', err => console.error('err', err))
 .on('end', (_,res) => console.log('processing success',res))
 .run();



However, i'd like it to be machine-readable (json or xml). Instead, it looks like this :


ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with Apple clang version 12.0.0 (clang-1200.0.32.28)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_8 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
 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
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 creation_time : 2020-05-28T09:51:18.000000Z
 Duration: 00:00:02.23, start: 0.000000, bitrate: N/A
 Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 9108 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
 Metadata:
 creation_time : 2020-05-28T09:51:18.000000Z
 handler_name : ?Mainconcept Video Media Handler
 encoder : AVC Coding
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
[libx264 @ 0x7f92d9808e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f92d9808e00] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x7f92d9808e00] 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=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 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=30.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'pipe:1':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41
 encoder : Lavf58.45.100
 Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
 Metadata:
 creation_time : 2020-05-28T09:51:18.000000Z
 handler_name : ?Mainconcept Video Media Handler
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 64 fps=0.0 q=36.0 size= 0kB time=00:00:00.16 bitrate= 1.7kbits/s dup=21 drop=0 speed=0.316x 
frame= 100 fps=0.0 q=-1.0 Lsize= 108kB time=00:00:03.23 bitrate= 274.7kbits/s dup=33 drop=0 speed=3.25x 
video:106kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.906519%
[libx264 @ 0x7f92d9808e00] frame I:1 Avg QP:25.71 size: 8782
[libx264 @ 0x7f92d9808e00] frame P:25 Avg QP:30.10 size: 2308
[libx264 @ 0x7f92d9808e00] frame B:74 Avg QP:27.92 size: 564
[libx264 @ 0x7f92d9808e00] consecutive B-frames: 1.0% 0.0% 3.0% 96.0%
[libx264 @ 0x7f92d9808e00] mb I I16..4: 19.4% 77.2% 3.3%
[libx264 @ 0x7f92d9808e00] mb P I16..4: 0.3% 0.8% 0.1% P16..4: 4.6% 1.3% 0.4% 0.0% 0.0% skip:92.5%
[libx264 @ 0x7f92d9808e00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 4.0% 0.2% 0.0% direct: 0.0% skip:95.7% L0:44.2% L1:54.8% BI: 1.0%
[libx264 @ 0x7f92d9808e00] 8x8 transform intra:75.0% inter:78.3%
[libx264 @ 0x7f92d9808e00] coded y,uvDC,uvAC intra: 8.8% 8.8% 2.4% inter: 0.3% 0.2% 0.0%
[libx264 @ 0x7f92d9808e00] i16 v,h,dc,p: 77% 7% 10% 6%
[libx264 @ 0x7f92d9808e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 48% 3% 42% 1% 1% 1% 1% 1% 1%
[libx264 @ 0x7f92d9808e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 16% 26% 7% 4% 4% 3% 5% 6%
[libx264 @ 0x7f92d9808e00] i8c dc,h,v,p: 89% 5% 5% 1%
[libx264 @ 0x7f92d9808e00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7f92d9808e00] ref P L0: 66.9% 11.1% 16.7% 5.3%
[libx264 @ 0x7f92d9808e00] ref B L0: 87.5% 9.9% 2.6%
[libx264 @ 0x7f92d9808e00] ref B L1: 96.4% 3.6%
[libx264 @ 0x7f92d9808e00] kb/s:259.80



Which doesn't let me be comfortable that my regex to extract the output resolution is always going to work.


Also, I don't wanna make another call/fileread just to get the resolution. Mainly because my files are stored in S3, where
ffprobe
doesn't work.