# Vidéos

# Conversion FFMPEG

Ressources / explications : https://github.com/leandromoreira/digital\_video\_introduction

https://amiaopensource.github.io/ffmprovisr/

Rassembler plusieurs vidéos de type MTS : http://stackoverflow.com/questions/3554787/using-ffmpeg-to-join-two-mts-files-together#31837321 http://stackoverflow.com/questions/5672687/merge-join-images-video-files-together-using-mencoder-or-ffmpeg

https://trac.ffmpeg.org/wiki/Concatenate

https://www.youtube.com/watch?v=hElDsyuAQDA https://www.youtube.com/playlist?list=PLx32r1KYmsKnmeH2enbDARTj\_cu\_9MP5E

# Montage video / Editing

Davinci Resolve with Linux : Prerequisites : https://www.linuxuprising.com/2018/06/how-to-install-davinci-resolve-15-in.html

https://www.reddit.com/r/linux/comments/9cuexb/anyone\_using\_davinci\_resolve\_for\_video\_ediiting/ https://forum.level1techs.com/t/video-editing-codecs-in-ubuntu-18-04-with-davinci-resolve-15/129632/3

# https://trac.ffmpeg.org/wiki/Concatenate

# The "Protocol" Concat

.\\ffmpeg.exe -i "concat:00000.MTS|00001.MTS|00002.MTS" test.mp4

.\\ffmpeg.exe -i "concat:00002.MTS|00003.MTS" essai.mp4

Gci . -Include \*.mts -Recurse | select *name*  
$Vidz = (Gci . -Include \*.mts -Recurse).Name -join '|'

.\\ffmpeg.exe -i "concat:$Vidz" essai.mp4

# The "Demuxer" Concat -- Use this one !!!!

```bash
cd /home/wes/Documents/Hockey-M18-BB/2023-11-28.CobraNord
#ls -I"match*" >> match_complet.txt
#find $PWD -type f -iname "mvi*" | sort > match_complet.txt
for i in *.MP4; do echo "file '$i'";done > match_complet.txt
ffmpeg -f concat -i match_complet.txt -c copy MatchComplet.mp4

```

```powershell
Gci . -Include *.mts -Recurse | %{"file '$($_.name)'"} | Out-File .\ListeVideo.txt -Force -Encoding default
Ise .\ListeVideo.txt
psedit .\ListeVideo.txt

# .\ffmpeg.exe -f concat -i .\ListeVideo.txt -c copy MatchComplet.mp4
. 'C:\Tools\Video tools\ffmpeg-20161104-b4e9252-win64-static\bin\ffmpeg.exe' -f concat -i .\ListeVideo.txt -c copy MatchComplet.mts
. 'C:\Tools\Video tools\ffmpeg-20181016-b2adc31-win64-static\bin\ffmpeg.exe' -f concat -i .\ListeVideo.txt -c copy MatchComplet.mpg

```

# Encode H264

.\\ffmpeg.exe -i "00003.MTS" -f mp4 -c:v libx264 -c:a copy -preset medium -crf 22 EssaiH264.mp4

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v copy -c:a copy -ss 0 -t 30 Essai\_Original.mp4 . 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 Essai.mp4 . 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a aac -b:96k -profile:v high -preset slow -crf 22 -ss 0 -t 30 Essai\_2.mp4

```bash
ffmpeg -i MatchComplet.mp4 -f mp4 -c:v libx264 -c:a aac -b:a 96K -profile:v high -preset slow -crf 22 MatchComplet_encoded.mp4

```

# To deinterlace the video, use the filter yadif - https://ffmpeg.org/ffmpeg-filters.html

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 -vf yadif Essai\_deinterlace.mp4

# To add some texts, use the filter drawtext

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 -vf drawtext="text='2018-10-14 - Express : 1 / Laval Est : 4'" Essai\_test.mp4 . 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 -vf drawtext="fontfile=\\Windows\\Fonts\\mononoki-Regular.ttf:text='2018-10-14 - Express : 1 / Laval Est : 4':fontsize=30:fontcolor=red:x=10:y=10'" Essai\_text.mp4

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 15 -vf yadif="parity=tff",drawtext="fontfile=mononoki-Regular.ttf:text='2018-10-14 - Express : 1 / Laval Est : 4':x=(w-text\_w)*.10:y=(h-text\_h)*.90:fontsize=30:fontcolor=red",fade=t=in:st=0:d=1,fade=t=out:st=4:d=1 Essai\_text.mp4

drawtext="fontfile=/Windows/Fonts/Corbelb.ttf:text='Fiona':fontsize=40:fontcolor=yellow:x=1321:y=417"

À partir de l’adresse [https://superuser.com/questions/649412/ffmpeg-x264-encode-settings](https://superuser.com/questions/649412/ffmpeg-x264-encode-settings)

## Sharpen video - https://ffmpeg.org/ffmpeg-filters.html#toc-unsharp-1

Unsharp

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 -vf "unsharp" Essai\_filters.mp4 . 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -ss 0 -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -t 30 -vf "unsharp=3:3,yadif" Essai\_filters.mp4 -y

## Multiple filters must be separated by a comma (,)

-vf yadif,drawtext="text='mysentence':fontsize=20"

# Final

. 'C:\\Tools\\Video tools\\ffmpeg-20181016-b2adc31-win64-static\\bin\\ffmpeg.exe' -i 'M2U00175.MPG' -f mp4 -c:v libx264 -c:a copy -profile:v high -preset slow -crf 22 -ss 0 -t 30 -vf yadif="parity=tff",drawtext="fontfile=\\Windows\\Fonts\\mononoki-Regular.ttf:text='2018-10-14 - Express : 1 / Laval Est : 4 :fontsize=30:fontcolor=red:x=10:y=10'" Essai\_final.mp4

&lt;# encode in Handbrake

# Variable bitrate 1000 - 2 pass

Variable bitrate 3621 - 2 pass, 720p Audio passthru

# Filters

Detelecine : Default Decomb : Default

# Audio

AAC (avcodec) - bitrate 96 - mixdown stereo

\#&gt;

Calcul du bitrate : - Utiliser 0.092 Bits/(pixel\*frame) - Framerate : 59,94

Pour l'encodage mHD dans Handbrake : https://tutox264.wordpress.com/

Profile à créer dans Handbrake : ref=6:subq=7:trellis=0:bframes=3:b-adapt=2:direct=auto:me=umh:merange=16:analyse=all:open-gop=0:rc-lookahead=50:level=4.1:no-fast-pskip=1:no-mixed-refs=0:no-weightb=0:no-mbtree=0

Pour la largeur(width) 812 - test que j'ai fait Pour du HD 720p : 1280 de largeur (width) Pour du 1080p : 1920 de largeur (width)

# Déclinaison de la qualité en fonction du CRF

https://forum.ubuntu-fr.org/viewtopic.php?pid=15341951#p15341951

# Autre méthode, avec le CRF (Constant Rate Factor)

https://wiki.t411.li/doku.php/ripper-transformer/encoder\_en\_x264\_avec\_handbrake

Pour faire un “HD léger”, sélectionnez un CRF 25 en 1080p, un CRF 23 en 720p, et un CRF 21 en SD. A taille équivalente, un fichier de définition plus faible sera généralement de meilleure qualité qu'un CRF supérieur (e.g. un 720p CRF 21 sera meilleur qu'un 1080p CRF26 sur un écran HD).

Sommaire: Width : 1280 Anamorphic : Loose Modulus : 4

Decomb: Bob X264 Same as source, variable bitrate Constant Quality : 23 X264 preset : Slower X264 tune : none H264 Profile : High H264 Level : Auto

## Fade in and fade out automatic

https://video.stackexchange.com/questions/19867/how-to-fade-in-out-a-video-audio-clip-with-unknown-duration