
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 (49)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...)
Sur d’autres sites (10004)
-
FFMPEG overlay by time not working in my case
18 août 2021, par Patel MilanImage Overlay on image and enable by time


ffmpeg -y -loop 1 -i .\1080.png -i .\021.jpg -i .\022.jpg -i .\023.jpg -filter_complex " [1:v]scale=534:810[a]; [2:v]scale=534:810[b]; [3:v]scale=534:810[c]; [0:v][a] overlay=10:8:enable='between(t,0,8)'[o1]; [o1][b] overlay=264:778:enable='between(t,1,8)'[o2]; [o2][c] overlay=534:1524:enable='between(t,2,8)'[o3]" -map "[o3]" -t 8 outImageOverlay.mp4



Log


ffmpeg version 4.3.1-2021-01-01-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.0 (Rev5, 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 --enable-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-libmfx --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, png_pipe, from '.\1080.png':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: png, rgba(pc), 1080x2340, 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #1, image2, from '.\021.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 286665 kb/s
 Stream #1:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #2, image2, from '.\022.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 337493 kb/s
 Stream #2:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #3, image2, from '.\023.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 298403 kb/s
 Stream #3:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 (png) -> overlay:main
 Stream #1:0 (mjpeg) -> scale
 Stream #2:0 (mjpeg) -> scale
 Stream #3:0 (mjpeg) -> scale
 overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[swscaler @ 000001cd0b24d000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 000001cd0b286080] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 000001cd0b2c9c40] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 000001cd0a848500] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001cd0a848500] profile High, level 5.0, 4:2:0, 8-bit
[libx264 @ 000001cd0a848500] 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=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 'outImageOverlay.mp4':
 Metadata:
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1080x2340, q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 200 fps= 43 q=-1.0 Lsize= 208kB time=00:00:07.88 bitrate= 216.6kbits/s speed= 1.7x
video:205kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.538915%
[libx264 @ 000001cd0a848500] frame I:1 Avg QP:10.61 size: 68492
[libx264 @ 000001cd0a848500] frame P:50 Avg QP:16.79 size: 2508
[libx264 @ 000001cd0a848500] frame B:149 Avg QP:29.02 size: 104
[libx264 @ 000001cd0a848500] consecutive B-frames: 0.5% 0.0% 1.5% 98.0%
[libx264 @ 000001cd0a848500] mb I I16..4: 82.0% 10.1% 7.9%
[libx264 @ 000001cd0a848500] mb P I16..4: 0.0% 0.5% 0.1% P16..4: 1.0% 0.0% 0.1% 0.0% 0.0% skip:98.2%
[libx264 @ 000001cd0a848500] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.7% L0:39.1% L1:60.9% BI: 0.0%
[libx264 @ 000001cd0a848500] 8x8 transform intra:28.0% inter:98.0%
[libx264 @ 000001cd0a848500] coded y,uvDC,uvAC intra: 35.8% 31.1% 23.2% inter: 0.0% 0.1% 0.0%
[libx264 @ 000001cd0a848500] i16 v,h,dc,p: 98% 1% 0% 1%
[libx264 @ 000001cd0a848500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 17% 15% 7% 7% 9% 8% 8% 11%
[libx264 @ 000001cd0a848500] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 21% 9% 7% 10% 9% 11% 6% 9%
[libx264 @ 000001cd0a848500] i8c dc,h,v,p: 76% 10% 10% 4%
[libx264 @ 000001cd0a848500] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001cd0a848500] ref P L0: 90.9% 0.7% 7.0% 1.3%
[libx264 @ 000001cd0a848500] ref B L0: 57.1% 42.0% 0.9%
[libx264 @ 000001cd0a848500] ref B L1: 93.2% 6.8%
[libx264 @ 000001cd0a848500] kb/s:209.46



Overlay Video on Image Command


ffmpeg -y -i love.mp4 -i .\1080.png -i .\021.jpg -i .\022.jpg -i .\023.jpg -loop 1 -i .\020.jpg -filter_complex " [2:v]scale=534:810[a]; [3:v]scale=534:810[b]; [4:v]scale=534:810[c]; [5:v]scale=8000:4000,zoompan=z='min(zoom+0.0020,1.5)':d=417:s=1080x2340,setsar=1[d]; [0:v]scale=1080x2340,setdar=1080:2340,colorkey=0x1CD51A:0.3:0.2[ckout]; [1:v][a] overlay=10:8:enable='between(t,0,8)'[o1]; [o1][b] overlay=264:778:enable='between(t,1,8)'[o2]; [o2][c]overlay=534:1524:enable='between(t,2,8)'[o3]; [d][o3]overlay[o4]; [o4][ckout]overlay[o5]" -map "[o5]" -pix_fmt yuvj422p -t 8 outvideoOverlayInImage.mp4



Log


ffmpeg version 4.3.1-2021-01-01-essentials_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10.2.0 (Rev5, 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 --enable-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-libmfx --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, mov,mp4,m4a,3gp,3g2,mj2, from 'love.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2021-08-17T05:35:07.000000Z
 com.android.version: 11
 Duration: 00:00:06.93, start: 0.000000, bitrate: 538 kb/s
 Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2021-08-17T05:35:07.000000Z
 handler_name : SoundHandle
 Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 1080x2340, 334 kb/s, SAR 1:1 DAR 6:13, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 creation_time : 2021-08-17T05:35:07.000000Z
 handler_name : VideoHandle
Input #1, png_pipe, from '.\1080.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, rgba(pc), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #2, image2, from '.\021.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 286665 kb/s
 Stream #2:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #3, image2, from '.\022.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 337493 kb/s
 Stream #3:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #4, image2, from '.\023.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 298403 kb/s
 Stream #4:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 tbr, 25 tbn, 25 tbc
Input #5, image2, from '.\020.jpg':
 Duration: 00:00:00.04, start: 0.000000, bitrate: 184663 kb/s
 Stream #5:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 1080x2340, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:1 (h264) -> scale
 Stream #1:0 (png) -> overlay:main
 Stream #2:0 (mjpeg) -> scale
 Stream #3:0 (mjpeg) -> scale
 Stream #4:0 (mjpeg) -> scale
 Stream #5:0 (mjpeg) -> scale
 overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[swscaler @ 00000230595cff40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0000023059727e80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 00000230597768c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 00000230597c3c80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 00000230597faec0] No accelerated colorspace conversion found from yuv420p to argb.
[swscaler @ 0000023059884cc0] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 00000230536e2900] using SAR=1/1
[libx264 @ 00000230536e2900] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 00000230536e2900] profile High 4:2:2, level 5.0, 4:2:2, 8-bit
[libx264 @ 00000230536e2900] 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=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 'outvideoOverlayInImage.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 com.android.version: 11
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj422p(pc), 1080x2340 [SAR 1:1 DAR 6:13], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 200 fps= 11 q=-1.0 Lsize= 1411kB time=00:00:07.88 bitrate=1467.1kbits/s speed=0.435x
video:1408kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.226583%
[libx264 @ 00000230536e2900] frame I:1 Avg QP:20.68 size:121139
[libx264 @ 00000230536e2900] frame P:50 Avg QP:20.09 size: 15622
[libx264 @ 00000230536e2900] frame B:149 Avg QP:24.04 size: 3617
[libx264 @ 00000230536e2900] consecutive B-frames: 0.5% 0.0% 1.5% 98.0%
[libx264 @ 00000230536e2900] mb I I16..4: 8.9% 81.4% 9.7%
[libx264 @ 00000230536e2900] mb P I16..4: 1.5% 1.9% 0.3% P16..4: 21.8% 8.1% 4.7% 0.0% 0.0% skip:61.6%
[libx264 @ 00000230536e2900] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 26.8% 0.7% 0.1% direct: 0.3% skip:72.1% L0:46.3% L1:53.3% BI: 0.3%
[libx264 @ 00000230536e2900] 8x8 transform intra:59.8% inter:84.9%
[libx264 @ 00000230536e2900] coded y,uvDC,uvAC intra: 30.0% 30.8% 13.5% inter: 3.0% 2.2% 0.1%
[libx264 @ 00000230536e2900] i16 v,h,dc,p: 66% 30% 2% 2%
[libx264 @ 00000230536e2900] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 12% 43% 3% 3% 3% 3% 2% 3%
[libx264 @ 00000230536e2900] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 39% 19% 11% 5% 6% 5% 6% 4% 5%
[libx264 @ 00000230536e2900] i8c dc,h,v,p: 57% 19% 21% 3%
[libx264 @ 00000230536e2900] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000230536e2900] ref P L0: 73.3% 11.4% 8.9% 6.4%
[libx264 @ 00000230536e2900] ref B L0: 96.2% 3.1% 0.7%
[libx264 @ 00000230536e2900] ref B L1: 95.5% 4.5%
[libx264 @ 00000230536e2900] kb/s:1441.17



Input images and output videos


- 

- 020.jpg
- 021.jpg
- 022.jpg
- 023.jpg
- 1080.png
- outImageOverlay
- outvideoOverlayInImage.mp4
- love.mp4


















image on image overlay is working by enable given time but when video overlay into image is not working correctly


-
Why is the filesize different when swapping audio tracks using ffmeg ?
20 août 2021, par BrianI have a movie that I have encoded using Handbrake on a Mac a long time ago. When I encoded the movie, I put the stereo audio as track 1 and the 5.1 audio as track 2. The starting filesize is 853,320,914 bytes. Below is the data from ffprobe.


ffprobe version 4.2.1-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2007-2019 the FFmpeg developers
 built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
 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-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Annabelle - Comes Home (2019).m4v':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 creation_time : 2020-04-06T22:40:36.000000Z
 encoder : HandBrake 1.1.2 2018090500
 Duration: 01:46:04.86, start: 0.000000, bitrate: 1072 kb/s
 Chapter #0:0: start 0.000000, end 476.986000
 Metadata:
 title : Chapter 1
 Chapter #0:1: start 476.986000, end 933.608000
 Metadata:
 title : Chapter 2
 Chapter #0:2: start 933.608000, end 1441.449000
 Metadata:
 title : Chapter 3
 Chapter #0:3: start 1441.449000, end 1976.358000
 Metadata:
 title : Chapter 4
 Chapter #0:4: start 1976.358000, end 2579.753000
 Metadata:
 title : Chapter 5
 Chapter #0:5: start 2579.753000, end 3149.030000
 Metadata:
 title : Chapter 6
 Chapter #0:6: start 3149.030000, end 3726.941000
 Metadata:
 title : Chapter 7
 Chapter #0:7: start 3726.941000, end 3973.520000
 Metadata:
 title : Chapter 8
 Chapter #0:8: start 3973.520000, end 4504.676000
 Metadata:
 title : Chapter 9
 Chapter #0:9: start 4504.676000, end 4904.409000
 Metadata:
 title : Chapter 10
 Chapter #0:10: start 4904.409000, end 5421.592000
 Metadata:
 title : Chapter 11
 Chapter #0:11: start 5421.592000, end 5998.001000
 Metadata:
 title : Chapter 12
 Chapter #0:12: start 5998.001000, end 6364.075000
 Metadata:
 title : Chapter 13
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x360 [SAR 32:27 DAR 64:27], 519 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 162 kb/s (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Stereo
 Stream #0:2(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Surround
 Side data:
 audio service type: main
 Stream #0:3(eng): Data: bin_data (text / 0x74786574)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : SubtitleHandler
Unsupported codec with id 100359 for input stream 3



My goal is to swap the stereo audio track with the 5.1 audio track and make the 5.1 audio track the default without having to reencode. To do this, I used the following command :


ffmpeg -i "Annabelle - Comes Home (2019)/Annabelle - Comes Home (2019)_old.m4v" -map 0:v:0 -map 0:a:1 -map 0:a:0 -disposition:a:0 default -disposition:a:1 none -c copy "Annabelle - Comes Home (2019)/Annabelle - Comes Home (2019).m4v"


Everything works as it should, I think anyways as I didn't get any errors...


ffmpeg version 4.2.1-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers
 built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
 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-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Annabelle - Comes Home (2019)/Annabelle - Comes Home (2019)_old.m4v':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 creation_time : 2020-04-06T22:40:36.000000Z
 encoder : HandBrake 1.1.2 2018090500
 Duration: 01:46:04.86, start: 0.000000, bitrate: 1072 kb/s
 Chapter #0:0: start 0.000000, end 476.986000
 Metadata:
 title : Chapter 1
 Chapter #0:1: start 476.986000, end 933.608000
 Metadata:
 title : Chapter 2
 Chapter #0:2: start 933.608000, end 1441.449000
 Metadata:
 title : Chapter 3
 Chapter #0:3: start 1441.449000, end 1976.358000
 Metadata:
 title : Chapter 4
 Chapter #0:4: start 1976.358000, end 2579.753000
 Metadata:
 title : Chapter 5
 Chapter #0:5: start 2579.753000, end 3149.030000
 Metadata:
 title : Chapter 6
 Chapter #0:6: start 3149.030000, end 3726.941000
 Metadata:
 title : Chapter 7
 Chapter #0:7: start 3726.941000, end 3973.520000
 Metadata:
 title : Chapter 8
 Chapter #0:8: start 3973.520000, end 4504.676000
 Metadata:
 title : Chapter 9
 Chapter #0:9: start 4504.676000, end 4904.409000
 Metadata:
 title : Chapter 10
 Chapter #0:10: start 4904.409000, end 5421.592000
 Metadata:
 title : Chapter 11
 Chapter #0:11: start 5421.592000, end 5998.001000
 Metadata:
 title : Chapter 12
 Chapter #0:12: start 5998.001000, end 6364.075000
 Metadata:
 title : Chapter 13
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x360 [SAR 32:27 DAR 64:27], 519 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 162 kb/s (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Stereo
 Stream #0:2(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Surround
 Side data:
 audio service type: main
 Stream #0:3(eng): Data: bin_data (text / 0x74786574)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : SubtitleHandler
[ipod @ 0x7faff0014000] track 1: codec frame size is not set
Output #0, ipod, to 'Annabelle - Comes Home (2019)/Annabelle - Comes Home (2019).m4v':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.29.100
 Chapter #0:0: start 0.000000, end 476.986000
 Metadata:
 title : Chapter 1
 Chapter #0:1: start 476.986000, end 933.608000
 Metadata:
 title : Chapter 2
 Chapter #0:2: start 933.608000, end 1441.449000
 Metadata:
 title : Chapter 3
 Chapter #0:3: start 1441.449000, end 1976.358000
 Metadata:
 title : Chapter 4
 Chapter #0:4: start 1976.358000, end 2579.753000
 Metadata:
 title : Chapter 5
 Chapter #0:5: start 2579.753000, end 3149.030000
 Metadata:
 title : Chapter 6
 Chapter #0:6: start 3149.030000, end 3726.941000
 Metadata:
 title : Chapter 7
 Chapter #0:7: start 3726.941000, end 3973.520000
 Metadata:
 title : Chapter 8
 Chapter #0:8: start 3973.520000, end 4504.676000
 Metadata:
 title : Chapter 9
 Chapter #0:9: start 4504.676000, end 4904.409000
 Metadata:
 title : Chapter 10
 Chapter #0:10: start 4904.409000, end 5421.592000
 Metadata:
 title : Chapter 11
 Chapter #0:11: start 5421.592000, end 5998.001000
 Metadata:
 title : Chapter 12
 Chapter #0:12: start 5998.001000, end 6364.075000
 Metadata:
 title : Chapter 13
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x360 [SAR 32:27 DAR 64:27], q=2-31, 519 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 90k tbc (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Surround
 Side data:
 audio service type: main
 Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 162 kb/s
 Metadata:
 creation_time : 2020-04-06T22:40:36.000000Z
 handler_name : Stereo
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
 Stream #0:2 -> #0:1 (copy)
 Stream #0:1 -> #0:2 (copy)
Press [q] to stop, [?] for help
frame=152602 fps=12872 q=-1.0 Lsize= 834270kB time=01:46:04.79 bitrate=1073.8kbits/s speed= 537x 
video:403702kB audio:424714kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.706676%



Here is the resulting ffprobe of the new file showing it swapped the audio tracks :


ffprobe version 4.2.1-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2007-2019 the FFmpeg developers
 built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
 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-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Annabelle - Comes Home (2019).m4v':
 Metadata:
 major_brand : M4V 
 minor_version : 512
 compatible_brands: isomiso2avc1
 encoder : Lavf58.29.100
 Duration: 01:46:04.86, start: 0.000000, bitrate: 1073 kb/s
 Chapter #0:0: start 0.000000, end 476.986000
 Metadata:
 title : Chapter 1
 Chapter #0:1: start 476.986000, end 933.608000
 Metadata:
 title : Chapter 2
 Chapter #0:2: start 933.608000, end 1441.449000
 Metadata:
 title : Chapter 3
 Chapter #0:3: start 1441.449000, end 1976.358000
 Metadata:
 title : Chapter 4
 Chapter #0:4: start 1976.358000, end 2579.753000
 Metadata:
 title : Chapter 5
 Chapter #0:5: start 2579.753000, end 3149.030000
 Metadata:
 title : Chapter 6
 Chapter #0:6: start 3149.030000, end 3726.941000
 Metadata:
 title : Chapter 7
 Chapter #0:7: start 3726.941000, end 3973.520000
 Metadata:
 title : Chapter 8
 Chapter #0:8: start 3973.520000, end 4504.676000
 Metadata:
 title : Chapter 9
 Chapter #0:9: start 4504.676000, end 4904.409000
 Metadata:
 title : Chapter 10
 Chapter #0:10: start 4904.409000, end 5421.592000
 Metadata:
 title : Chapter 11
 Chapter #0:11: start 5421.592000, end 5998.001000
 Metadata:
 title : Chapter 12
 Chapter #0:12: start 5998.001000, end 6364.075000
 Metadata:
 title : Chapter 13
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x360 [SAR 32:27 DAR 64:27], 519 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
 Metadata:
 handler_name : Surround
 Side data:
 audio service type: main
 Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 162 kb/s
 Metadata:
 handler_name : Stereo
 Stream #0:3(eng): Data: bin_data (text / 0x74786574)
 Metadata:
 handler_name : SubtitleHandler
Unsupported codec with id 100359 for input stream 3



What I don't understand is why is the file size different ? The resulting file is larger at 854,292,790 bytes. Shouldn't the file sizes be the same since I literally just swapped tracks 0 and 1 ?


-
node.js ffmpeg spawn child_process unexpected data output and not possible to kill or stop
1er septembre 2021, par PLNR
I'm rather new to backend stuff, so please excuse, if my question is trivial.

For an Intranet project, I want to present a video element in a webpage (React, HLS.js Player) with the possibility reload the stream in case it hung.

The video sources are mpeg-ts streams delivered as udp multicast.

A small node.js / express server should handle the ffmpeg commands, to transcode the multicast to hls to display them in a browser.



My Problem is, that I am unable to stop the process...

I've tried to SIGINT, SIGTERM the process with it's pid, but the encoding is just going on.

Here is the code I wrote for transcoding so far :


const express = require("express");
const { spawn, exec } = require("child_process");
const cors = require("cors");
const process = require("process")

let ls;
let pid;

const app = express();

app.use(cors());

app.get('/cam/:source', (body) => {
 const cam = body.params.source;
 console.log(cam);

 let source = "udp://239.1.1.1:4444";
 let stream = "/var/www/html/streams/tmp/cam1.m3u8"


 stream = spawn("ffmpeg", ["-re", "-i", source, "-c:v", "libx264", "-crf", "21", "-preset", "veryfast", "-c:a", "aac", "-b:a", "128k", "-ac", "2", "-f", "hls", "-hls_list_size", "5", "-hls_flags", "delete_segments", stream], {detached: true});

 pid = stream.pid;

 stream.stdout.on("data", data => {
 console.log(`stdout: ${data}`);
 });

 stream.stderr.on("data", data => {
 console.log(`stderr: ${data}`);
 console.log("pid: ", pid);
 });

 stream.on("error", error => {
 console.log(`error: ${error.message}`);
 });

 stream.on("close", code => {
 console.log(`child process exited with code ${code}`);
 });
})

app.get('/cam/quit', () => {
 process.kill(pid, 'SIGINT')
})

app.listen(5000, ()=> {
 console.log('Listening');
})



On requesting the /cam/quit i would expect the process to stop... but it doesn't.

I've tried :

app.get('/cam/quit', () => {
 process.kill(pid, 'SIGINT')
})



app.get('/cam/quit', () => {
 process.kill(stream.pid, 'SIGINT')
})



app.get('/cam/quit', () => {
 stream.kill(pid, 'SIGINT')
})



app.get('/cam/quit', () => {
 stream.kill(0, 'SIGINT')
})



But none of this worked... do I miss something ? Is there something I need to change ?


Problem 2 - Output :

The output is emitted on stderr... even the process is working as expected.

This is maybe only cosmetics, but it makes me wondering.

Here is the terminal output :

[nodemon] starting `node server.js`
Listening
camera stream reloaded
stderr: ffmpeg version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2000-2021 the FFmpeg developers
 built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)
 configuration: --prefix=/usr --extra-version=0+deb11u1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --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-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --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-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 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

pid: 4206
stderr: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'udp://239.1.1.1':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 creation_time : 
pid: 4206
stderr: 1970-01-01T00:00:00.000000Z
 encoder : Lavf52.54.0
 Duration: 01:55:59.20, start: 0.000000, bitrate: 1436 kb/s
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x384 [SAR 1:1 DAR 15:8], 1272 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
 Metadata:
 creation_time : 1970-01-01T00:00:00.000000Z
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s (default)
 Metadata:
 creation_time : 1970-01-01T00:00:00.000000Z
 handler_name : SoundHandler

pid: 4206
stderr: Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help

pid: 4206
stderr: [libx264 @ 0x5616b38b5440] using SAR=1/1

pid: 4206
stderr: [libx264 @ 0x5616b38b5440] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

pid: 4206
stderr: [libx264 @ 0x5616b38b5440] profile High, level 3.0, 4:2:0, 8-bit

pid: 4206
stderr: [libx264 @ 0x5616b38b5440] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=21.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, hls, to '/var/www/html/streams/tmp/aft.m3u8':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.45.100
 Stream #0:0(und): Video: h264 (libx264), yuv420p, 720x384 [SAR 1:1 DAR 15:8], q=-1--1, 25 fps, 90k tbn, 25 tbc (default)
 Metadata:
 creation_time : 1970-01-01T00:00:00.000000Z
 handler_name : VideoHandler
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1(und): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 creation_time : 1970-01-01T00:00:00.000000Z
 handler_name : SoundHandler
 encoder : Lavc58.91.100 aac

pid: 4206
stderr: frame= 8 fps=0.0 q=0.0 size=N/A time=00:00:00.46 bitrate=N/A speed=0.931x 
pid: 4206
stderr: frame= 21 fps= 21 q=26.0 size=N/A time=00:00:00.96 bitrate=N/A speed=0.95x 
pid: 4206
stderr: frame= 33 fps= 22 q=26.0 size=N/A time=00:00:01.49 bitrate=N/A speed=0.982x 
pid: 4206
stderr: frame= 46 fps= 23 q=26.0 size=N/A time=00:00:02.00 bitrate=N/A speed=0.989x 
pid: 4206
stderr: frame= 58 fps= 23 q=26.0 size=N/A time=00:00:02.49 bitrate=N/A speed=0.986x 
pid: 4206



and so on...



Any help would be highly appreciated !

Many thanks in advance