
Recherche avancée
Médias (2)
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (66)
-
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 -
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 -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (10735)
-
ffmpeg - I want to concat multiple videos (front / rear) with overlay and one second delay
12 mai 2024, par Andrej FlorjančičI try to write bash script to concat front and rear video files with delay 1 second at start and overlay rear over front.


I wrote the following bash script :


# Define the output file
output_file="${VIDEO}/final_output_${choice}.mp4"

# Collect and sort the video files
front_files=( $(ls *_F.MP4 | sort) )
rear_files=( $(ls *_R.MP4 | sort) )

# Create a file to hold ffmpeg input commands and filter scripts
input_list="input_files.txt"
filter_script="filter_complex.txt"
inputs=""

# Clear the input list and filter script files
echo "" > "$input_list"
echo "" > "$filter_script"

# Number of files
num_files=${#front_files[@]}

# Iterate through the sorted files to build the filter script
for i in "${!front_files[@]}"; do
 echo "file '${front_files[$i]}'" >> "$input_list"
 echo "file '${rear_files[$i]}'" >> "$input_list"
 
 echo "[$((2*i)):v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_$i]; [$((2*i)):a]atrim=start=1,asetpts=PTS-STARTPTS[a_$i];" >> "$filter_script"
 echo "[$((2*i+1)):v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_$i];" >> "$filter_script" # Rear video only
 echo "[f_$i][r_$i]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_$i];" >> "$filter_script"

 input+="[mix_$i][a_$i]"
done

# Concatenate all combined labels
echo "${input}concat=n=${#front_files[@]}:v=1:a=1[v][a]" >> "$filter_script"

# Run FFmpeg with filter script
ffmpeg -f concat -safe 0 -i "$input_list" \
 -filter_complex_script "$filter_script" \
 -map "[v]" -map "[a]" \
 -y "$output_file"



This script generates two files input_list.txt :


file '20200826_084407_F.MP4'
file '20200826_084407_R.MP4'
file '20200826_084708_F.MP4'
file '20200826_084708_R.MP4'
file '20200826_084910_F.MP4'
file '20200826_084910_R.MP4'



filter_script.txt :


[0:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_0]; [0:a]atrim=start=1,asetpts=PTS-STARTPTS[a_0];
[1:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_0];
[f_0][r_0]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_0];
[2:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_1]; [2:a]atrim=start=1,asetpts=PTS-STARTPTS[a_1];
[3:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_1];
[f_1][r_1]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_1];
[4:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_2]; [4:a]atrim=start=1,asetpts=PTS-STARTPTS[a_2];
[5:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_2];
[f_2][r_2]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_2];
[mix_0][a_0][mix_1][a_1][mix_2][a_2]concat=n=3:v=1:a=1[v][a]



I'w got error :


Input #0, concat, from 'input_files.txt':
 Duration: N/A, start: 0.000000, bitrate: 11973 kb/s
 Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 11877 kb/s, 30 fps, 30 tbr, 60k tbn, 60 tbc
 Metadata:
 creation_time : 2020-08-26T08:47:07.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : h264
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, mono, fltp, 96 kb/s
 Metadata:
 creation_time : 2020-08-26T08:47:07.000000Z
 handler_name : SoundHandler
 vendor_id : [0][0][0][0]
Invalid file index 1 in filtergraph description
[0:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_0]; [0:a]atrim=start=1,asetpts=PTS-STARTPTS[a_0];
[1:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_0];
[f_0][r_0]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_0];
[2:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_1]; [2:a]atrim=start=1,asetpts=PTS-STARTPTS[a_1];
[3:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_1];
[f_1][r_1]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_1];
[4:v]trim=start=1,scale=1920:1080,setpts=PTS-STARTPTS[f_2]; [4:a]atrim=start=1,asetpts=PTS-STARTPTS[a_2];
[5:v]trim=start=1,scale=640:360,setpts=PTS-STARTPTS[r_2];
[f_2][r_2]overlay=x=(main_w-overlay_w-10):y=(main_h-overlay_h-10)[mix_2];
[mix_0][a_0][mix_1][a_1][mix_2][a_2]concat=n=3:v=1:a=1[v][a]



What am I doing wrong ?


-
setPTS outputting wrong duration (Ffmpeg)
16 septembre 2020, par WebDivaI have a video of duration 14 seconds. I applied the setPTS filter to make it 3 times slow. So the total duration should be 42s (14*3). But the output gives a 49s long video. Here is the command :


ffmpeg -i video.mp4 -filter_complex "[0:v]setpts=3*PTS[v];[0:a]atempo=0.6,atempo=0.5[a]" -map "[v]" -map "[a]" output.mp4



What is wrong with this command ? I tried it for different videos but all has the same weird issue. Any help will be appreciated. Regards.


Log :


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, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2018-11-20T06:28:07.000000Z
 Duration: 00:00:14.72, start: 0.000000, bitrate: 688 kb/s
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, unknown/bt470bg/unknown), 198x360 [SAR 1:1 DAR 11:20], 592 kb/s, 29.93 fps, 29.93 tbr, 29931 tbn, 59.86 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
 Metadata:
 creation_time : 2018-11-20T06:28:07.000000Z
 handler_name : IsoMedia File Produced by Google, 5-11-2011
File 'output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (h264) -> setpts
 Stream #0:1 (aac) -> atempo
 setpts -> Stream #0:0 (libx264)
 atempo -> Stream #0:1 (aac)
Press [q] to stop, [?] for help
[libx264 @ 0000021e37f15340] using SAR=1/1
[libx264 @ 0000021e37f15340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000021e37f15340] profile High, level 1.3, 4:2:0, 8-bit
[libx264 @ 0000021e37f15340] 264 - core 161 - 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 'output.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 encoder : Lavf58.51.101
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 198x360 [SAR 1:1 DAR 11:20], q=-1--1, 29.93 fps, 29931 tbn, 29.93 tbc (default)
 Metadata:
 encoder : Lavc58.101.101 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 encoder : Lavc58.101.101 aac
frame= 1313 fps=256 q=-1.0 Lsize= 2241kB time=00:00:44.11 bitrate= 416.2kbits/s dup=875 drop=0 speed=8.61x
video:1500kB audio:693kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.182632%
[libx264 @ 0000021e37f15340] frame I:7 Avg QP:21.61 size: 18425
[libx264 @ 0000021e37f15340] frame P:331 Avg QP:24.78 size: 3593
[libx264 @ 0000021e37f15340] frame B:975 Avg QP:31.57 size: 223
[libx264 @ 0000021e37f15340] consecutive B-frames: 0.8% 0.2% 1.6% 97.5%
[libx264 @ 0000021e37f15340] mb I I16..4: 3.6% 31.1% 65.3%
[libx264 @ 0000021e37f15340] mb P I16..4: 0.8% 1.3% 4.2% P16..4: 37.0% 29.0% 15.9% 0.0% 0.0% skip:11.7%
[libx264 @ 0000021e37f15340] mb B I16..4: 0.0% 0.0% 0.2% B16..8: 8.4% 2.8% 1.2% direct: 0.4% skip:87.0% L0:61.8% L1:31.0% BI: 7.3%
[libx264 @ 0000021e37f15340] 8x8 transform intra:22.3% inter:18.7%
[libx264 @ 0000021e37f15340] coded y,uvDC,uvAC intra: 73.2% 85.7% 52.9% inter: 11.6% 7.4% 0.7%
[libx264 @ 0000021e37f15340] i16 v,h,dc,p: 25% 33% 22% 19%
[libx264 @ 0000021e37f15340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 28% 19% 4% 5% 4% 7% 5% 7%
[libx264 @ 0000021e37f15340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 26% 13% 5% 7% 6% 7% 6% 7%
[libx264 @ 0000021e37f15340] i8c dc,h,v,p: 38% 29% 22% 11%
[libx264 @ 0000021e37f15340] Weighted P-Frames: Y:2.7% UV:0.3%
[libx264 @ 0000021e37f15340] ref P L0: 86.1% 8.9% 3.6% 1.4% 0.1%
[libx264 @ 0000021e37f15340] ref B L0: 94.7% 4.6% 0.8%
[libx264 @ 0000021e37f15340] ref B L1: 99.3% 0.7%
[libx264 @ 0000021e37f15340] kb/s:280.02
[aac @ 0000021e3847c900] Qavg: 729.586



-
Evolution #4350 (En cours) : Faire l’ajout de la config mini dans le paquet.xml d’ecrire
24 septembre 2019, par b bPour revenir sur la proposition d’augmenter à PHP 5.6 mini je pense qu’on peut le faire sans problème. Pour info, on nécessitait PHP 5.4 mini pour raison de compat avec debian 7, cf r23619 => "On nécessite PHP 5.4 minimum. Note : Debian 7 Wheezy est supportée avec PHP 5.4 jusque fin mai 2018…"
À ce jour, la version mini de PHP sous debian est la 5.6 proposée par debian 8 qui est supportée jusqu’au 30 juin 2020, ref https://wiki.debian.org/fr/LTS & https://packages.debian.org/fr/jessie/php5