
Recherche avancée
Médias (21)
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (62)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
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 (...)
Sur d’autres sites (7784)
-
Converting a spesific audio sream and copy the rest
15 mai 2022, par AreteIs it possible to convert one of the audio tracks in a video file to a different format while copying/remuxing the other audio tracks in the file with FFmpeg ?


More specifically, is it possible to do this without explicitly specify all the audio tracks you want to keep ?


I have tried using the -map function,


ffmpeg -i INPUT -c:v copy -c:a libfdk_aac -map 1:a:2 OUTPUT.mkv



but this only encodes the first audio track and excludes the rest. I know I can probably explicitly tell FFmpeg to mux all the rest of the audio tracks, but this is really tedious. It means I will have to count every audio track and write e considerably longer command.


Is there not a way to tell FFmpeg "convert audio track X and copy the rest" ?


Here is the MediaInfo of the file. Note that there are over 10 audio tracks but I have excluded them in this example to keep it simple.


Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : 36
Duration : 2 h 30 min
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2
Maximum Content Light Level : 349 cd/m2
Maximum Frame-Average Light Level : 86 cd/m2

Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Muxing mode : Stream extension
Codec ID : 134
Duration : 2 h 30 min
Bit rate mode : Variable
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossless

Audio #2
ID : 4353 (0x1101)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : 129
Duration : 2 h 30 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : -9 ms
Stream size : 687 MiB (1%)
Service kind : Complete Main

Audio #3
ID : 4354 (0x1102)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : 129
Duration : 2 h 30 min
Bit rate mode : Constant
Bit rate : 448 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : -9 ms
Stream size : 481 MiB (1%)
Service kind : Complete Main



-
FFmpeg : Looping an video/audio stream to YouTube Live
27 novembre 2020, par ClausI'm using this script to stream a 30s
.mp4
video file with a 2min audio track in.mp3
format :

#! /bin/bash

VBR="1500k"
FPS="30"
QUAL="ultrafast"
YOUTUBE_URL=" rtmp://a.rtmp.youtube.com/live2"
YOUTUBE_KEY="**********"
VIDEO_SOURCE="test_video_4.mp4"
AUDIO_SOURCE="test_audio_3.mp3"
AUDIO_ENCODER="aac"

ffmpeg \
 -stream_loop -1 \
 -re \
 -i "$VIDEO_SOURCE" \
 -thread_queue_size 512 \
 -i "$AUDIO_SOURCE" \
 -c:v libx264 -preset $QUAL -r $FPS -g $(($FPS *2)) -b:v $VBR \
 -c:a $AUDIO_ENCODER -threads 6 -ar 44100 -b:a 128k -bufsize 512k -pix_fmt yuv420p \
 -fflags +shortest -max_interleave_delta 50000 \
 -f flv $YOUTUBE_URL/$YOUTUBE_KEY



Both the audio and the video get played correctly the first time, with the video looping while the audio playback is completed (since it's shorter). The only problem is that the audio loop does not work and as soon the audio completes the first time the stream simply stops.


Here's the log :




ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers

built with Apple clang version 12.0.0 (clang-1200.0.32.27)

configuration : —prefix=/usr/local/Cellar/ffmpeg/4.3.1_4
—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 —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 'test_video_4.mp4' : Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
creation_time : 2020-11-27T18:38:02.000000Z Duration : 00:00:39.46, start : 0.000000, bitrate : 12081 kb/s
Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 12033
kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video Input #1, mp3, from 'test_audio_3.mp3' : Metadata :
genre : Cinematic
album : YouTube Audio Library
title : Test Title
artist : Test Artist Duration : 00:02:12.21, start : 0.025057, bitrate : 320 kb/s
Stream #1:0 : Audio : mp3, 44100 Hz, stereo, fltp, 320 kb/s
Metadata :
encoder : LAME3.99r Stream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (mp3 (mp3float) -> aac (native)) Press [q] to stop, [?] for help [libx264 @
0x7fa825031600] VBV maxrate unspecified, assuming CBR [libx264 @
0x7fa825031600] using SAR=1/1 [libx264 @ 0x7fa825031600] using cpu
capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
0x7fa825031600] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x7fa825031600] 264 - core 161 r3027 4121277 - H.264/MPEG-4
AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html -
options : cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1
psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0
8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0
threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0
keyint=60 keyint_min=6 scenecut=0 intra_refresh=0 rc_lookahead=0
rc=cbr mbtree=0 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69
qpstep=4 vbv_maxrate=1500 vbv_bufsize=512 nal_hrd=none filler=0
ip_ratio=1.40 aq=0 Output #0, flv, to
'rtmp ://a.rtmp.youtube.com/live2/*****' :

Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
encoder : Lavf58.45.100
Stream #0:0(und) : Video : h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 1500 kb/s,
30 fps, 1k tbn, 30 tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video
encoder : Lavc58.91.100 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/1500000 buffer size : 512000 vbv_delay : N/A
Stream #0:1 : Audio : aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
Metadata :
encoder : Lavc58.91.100 aac Larger timestamp than 24-bit : 0xffff9b44kB time=00:02:37.43 bitrate=1292.6kbits/s
speed=0.995x [flv @ 0x7fa825032800] Failed to update header with
correct duration. [flv @ 0x7fa825032800] Failed to update header with
correct filesize. frame= 3790 fps= 24 q=-1.0 Lsize= 24962kB
time=00:02:38.03 bitrate=1294.0kbits/s speed=0.997x video:22719kB
audio:2081kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead : 0.656017% [libx264 @ 0x7fa825031600] frame I:64 Avg
QP:36.43 size : 38436 [libx264 @ 0x7fa825031600] frame P:3726 Avg
QP:28.61 size : 5583 [libx264 @ 0x7fa825031600] mb I I16..4 : 100.0%
0.0% 0.0% [libx264 @ 0x7fa825031600] mb P I16..4 : 3.3% 0.0% 0.0% P16..4 : 13.6% 0.0% 0.0% 0.0% 0.0% skip:83.1% [libx264 @
0x7fa825031600] coded y,uvDC,uvAC intra : 57.8% 71.6% 47.8% inter : 6.0%
7.1% 2.1% [libx264 @ 0x7fa825031600] i16 v,h,dc,p : 21% 39% 23% 18% [libx264 @ 0x7fa825031600] i8c dc,h,v,p : 36% 38% 16% 10% [libx264 @
0x7fa825031600] kb/s:1177.39 [aac @ 0x7fa82502d800] Qavg : 179.328
Exiting normally, received signal 2.



-
RTSP scene detection with ffmpeg
3 septembre 2020, par TobiasI have a RTSP-stream and want to save individual images, whenever the scene is changing. The idea is actually to categorize these images manually and use them to train TensorFlow. I can easily grab the whole stream and generate thousands of images if I don't use the scene filter :


ffmpeg -i rtsp://url -an -strftime 1 "%Y%m%d%H%M%S_scenechange.png"



But as soon as I add the scene-filter ffmpeg is not saving any image, no matter how much the scene changes, the command is just extended by one parameter :


ffmpeg -i rtsp://url -an -filter:v "select='gt(scene,0.1)'" -strftime 1 "%Y%m%d%H%M%S_scenechange.png"



It starts ffmpeg with following output and then quits unexpectedly some minutes later :


ffmpeg version git-2020-08-31-4a11a6f Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10.2.1 (GCC) 20200805
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --enable-libsvtav1 --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.101.101 / 58.101.101
libavformat 58. 51.101 / 58. 51.101
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
Input #0, rtsp, from 'rtsp://url':
Metadata:
title : hysxrtpsion
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 15 fps, 15 tbr, 90k tbn, 30 tbc
Stream #0:1: Audio: aac (LC), 8000 Hz, mono, fltp
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'mHS_scenechange.png':
Metadata:
title : hysxrtpsion
encoder : Lavf58.51.101
Stream #0:0: Video: png, rgb24, 1920x1080, q=2-31, 200 kb/s, 15 fps, 15 tbn,
15 tbc
Metadata:
 encoder : Lavc58.101.101 png
[rtsp @ 00000000004c5b80] max delay reached. need to consume packet
[rtsp @ 00000000004c5b80] RTP: missed 1 packets
[rtsp @ 00000000004c5b80] max delay reached. need to consume packet
[rtsp @ 00000000004c5b80] RTP: missed 1 packets
frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed= 0x

video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)



I looked at the mentioned options -ss -t -frames, but as you can see they're not used at all.


Does anyone have more experience with that and could hint me in the right direction ? As the filter is the only single change I'm a bit lost here.