Tutoriels
Tutoriels
Compiler la dernière version de ffmpeg pour Ubuntu
d’après la documentation officielle comment_compiler_ffmpeg
Installer toutes les dépendances :
[php]
sudo apt-get install yasm git checkinstall build-essential libvorbis-dev libxvidcore-dev libfaac-dev libfaad2 libtheora-dev libdirac-dev libvdpau-dev libopenjpeg-dev libopencore-amrwb-dev libopencore-amrnb-dev libgsm1-dev libschroedinger-dev libspeex-dev libdc1394-22-dev libsdl1.2-dev libx11-dev libxfixes-dev libass4 libass-dev libmp3lame-dev libx264-dev libvpx-dev
[/php]
Créer un répertoire contenant les sources, y compiler ffmpeg et l’installer sur le système :
[php]
cd
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure –enable-libmp3lame –enable-libxvid –enable-libvorbis –enable-gpl –enable-libfaac –enable-libtheora –enable-zlib –disable-shared –enable-libx264 –enable-nonfree –enable-version3 –enable-libschroedinger –enable-avfilter –enable-libspeex –enable-libopenjpeg –enable-libgsm –enable-postproc –enable-pthreads –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-ffplay –enable-pthreads –prefix=/usr/local –enable-x11grab –enable-runtime-cpudetect –enable-bzlib –enable-libdc1394 –enable-libvpx –enable-libfreetype –enable-libass
sudo make clean
make
sudo checkinstall
[/php]
Ajouter un sous-titre *.ass dans un apple prores HQ
[php]
ffmpeg -i film.mov -vf "ass=sous-titre.ass" -c:v prores_ks -profile:v 3 -c:a copy film-st.mov
[/php]
Ajouter un time code dans une vidéo mpeg1 à 25 i/s 352x288 pour ayato ou st500
[php]
ffmpeg -i film.mov -c:v mpeg1video -s 352×288 -q 4 -c:a mp2 -vf "drawtext=fontsize=45: fontfile=font.ttf: text=’TCR\:’: timecode=’00\:00\:00\:00′: r=25: x=(w-tw)/2: y=lh: fontcolor=white: box=1: boxcolor=0x00000000@1" -g 1
[/php]
Encoder pour un dvd
[php]
ffmpeg -i video.mov -target pal-dvd -aspect 16:9 -flags +ilme+ildct -alternate_scan 1 -top 0 video.mpg
[/php]
puis
[php]
ffmpeg -i video.mpg -c copy video.m2v && ffmpeg -i video.mpg -c copy video.ac3
[/php]
Éventuellement vérifier les niveaux sonores :
[php]
ffmpeg -i video.ac3 -af "volumedetect" -f null /dev/null
[/php]
Changer le débit image
[php]
24 → 25 -r 25 -vf "setpts=N/(25*TB)" -af "atempo=25/24" ou -r 25 -vf "setpts=(24/25)*PTS" -af "atempo=25/24"
25 → 24 -r 24 -vf "setpts=N/(24*TB)" -af "atempo=24/25" ou -vf "setpts=(25/24)*PTS" -af "atempo=24/25"
23.976 → 25 -r 25 -vf "setpts=N/(25*TB)" -af "atempo=25025/24000" ou -r 25 -vf "setpts=(24/25)*PTS" -af "atempo=25/24"
29.97 → 23.976 -vf "fieldmatch=order=auto:combmatch=none, decimate" ou -vf "fieldmatch=order=auto:combmatch=full, yadif=deint=interlaced, decimate" ou -vf pullup -r 24000/1001
[/php]
- map_metadata -1
Ajouter un filigrane
[php]
ffmpeg -i film.mp4 -i filigrane.png -filter_complex ’overlay=0:0’ filigrane.mp4
[/php]
Optimiser le démarrage de la vidéo pour internet
[php]
-c copy -movflags faststart
[/php]
Créer une vidéo mp4 à partir d’un dcp
[php]
ffmpeg -lowres 2 -i *_j2c.mxf -i *_pcm.mxf -q:v 2 -b:a 256k -ac 2 video.mp4
[/php]
à partir d’un dossier
[php]
ffmpeg -lowres 2 -framerate 24 -i */d06%.j2c -i *_pcm.wav -q:v 2 -b:a 256k -ac 2 video.mp4
[/php]
- start_number et -ss en cas de entrypoint
Créer un apple prores HQ 1920x1080 à partir d’un dcp flat 1998x1080
Transcoder les prores par bobine :
[php]
ffmpeg -i bobine01_j2c.mxf -i bobine01_pcm.mxf -c:v prores_ks -profile:v 3 -vf "scale=1920:1038,pad=1920:1080:0:21" -c:a pcm_s16le bobine01.mov
ffmpeg -i bobine02_j2c.mxf -i bobine02_pcm.mxf -c:v prores_ks -profile:v 3 -vf "scale=1920:1038,pad=1920:1080:0:21" -c:a pcm_s16le bobine02.mov
[/php]
concaténer les bobines entre elles :
[php]
mencoder -oac copy -ovc copy bobine01.mov bobine02.mov -o film.mov
[/php]
Encoder pour authoring blu-ray avec x264
d’après http://www.x264bluray.com/h
1080p23.976
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 24 –open-gop –fps 24000/1001 –force-cfr –slices 4 –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
1080p24
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 24 –open-gop –fps 24 –force-cfr –slices 4 –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
1080p25
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 25 –open-gop –fps 25 –force-cfr –slices 4 –fake-interlaced –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
1080i25
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 25 –open-gop –fps 25 –force-cfr –slices 4 –tff –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
1080p29.97
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 30 –open-gop –fps 30000/1001 –force-cfr –slices 4 –fake-interlaced –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
1080i29.97
[php]
x264 –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 30 –open-gop –fps 30000/1001 –force-cfr –slices 4 –tff –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 -o out.264 input.file
[/php]
Pour x264 à partir de Ubuntu 14.04
[php]
ffmpeg -i VideoIn.mov -f rawvideo -pix_fmt yuv420p – | x264 –demuxer raw […] –input-res 1920×1080 -o VideoOut.264 –
[/php]
encoder l’audio en ac3 avec ffmpeg
[php]
ffmpeg -i input.file out.ac3
[/php]
Multiplexer le *.264 et le *.ac3 avec TsMuxer
Créer un .264 à partir d’un dcp flat 24 images / seconde :
[php]
ffmpeg -i j2c.mxf -vf "scale=1920:1038,pad=1920:1080:0:21" -f rawvideo -pix_fmt yuv420p – | x264 –demuxer raw –bitrate 36000 –preset veryslow –tune film –bluray-compat –vbv-maxrate 40000 –vbv-bufsize 30000 –level 4.1 –keyint 24 –open-gop –fps 24 –force-cfr –slices 4 –colorprim "bt709" –transfer "bt709" –colormatrix "bt709" –sar 1:1 –input-res 1920×1080 -o out.264 –
[/php]
Formater un disque dur pour recevoir un contenu dcp
Effacer son contenu avec Gparted et relever le nom du disque (sdX)
Créer une partition type 83 avec cfdisk
[php]
sudo cfdisk /dev/sdX
[/php]
Formater cette partition en ext3 inode 128
[php]
sudo mkfs.ext3 -I 128 -L NOMDUDCP /dev/sdX
[/php]
Monter la partition puis la rendre accessible en écriture
[php]
sudo chmod -R 777 /media/’user’/NOMDUDCP
[/php]
Copier le contenu du dcp puis rendre la partition accessible en lecture/exécution
[php]
sudo chmod -R 555 /media/’user’/NOMDUDCP
[/php]
Accès aux certificats des serveurs
DOREMI
- ftp.doremilabs.com
- user : service
- pass : t3chn1c1an
- ftp.dolby.co.uk
- user : dolbyrootcertificates
- pass : houro61l
- certificates.christiedigital.com
- LeJoliMai
- Chr1st1eLJM0ne
- ftp.gdc-tech.com
- pubgdccert
- 20pub14lish