Le Joli Mai

Accueil > Ressources > 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 :

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

Créer un répertoire contenant les sources, y compiler ffmpeg et l’installer sur le système :

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

Ajouter un sous-titre *.ass dans un apple prores HQ

ffmpeg -i film.mov -vf "ass=sous-titre.ass" -c:v prores_ks -profile:v 3 -c:a copy film-st.mov

Ajouter un time code dans une vidéo mpeg1 à 25 i/s 352x288 pour ayato ou st500

ffmpeg -i film.mov -c:v mpeg1video -s 352x288 -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

Encoder pour un dvd

ffmpeg -i video.mov -target pal-dvd -aspect 16:9 -flags +ilme+ildct -alternate_scan 1 -top 0 video.mpg
puis
ffmpeg -i video.mpg -c copy video.m2v && ffmpeg -i video.mpg -c copy video.ac3

Choix du débit image :

ffmpeg -i SOURCE -c:v mpeg2video -c:a ac3 -f dvd -s 720x576 -r 25 -pix_fmt yuv420p -g 15 -b:v DEBIT_CIBLE -maxrate 8000000 -minrate 3000k -bufsize 1835008 -packetsize 2048 -muxrate 10080000 -b:a 448000 -ar 48000 CIBLE.mpg

Éventuellement vérifier les niveaux sonores :
ffmpeg -i video.ac3 -af "volumedetect" -f null -
ffmpeg -i video.ac3 -filter_complex ebur128 -f null -

Changer le débit image

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

  • map_metadata -1

Exemple : DVD NTSC vers DVD PAL : ffmpeg -i DVDNTSC.mpg -vf "fieldmatch=order=auto:combmatch=full, yadif=deint=interlaced, decimate, setpts=N/(25*TB)" -af "atempo=25025/24000" -target pal-dvd -aspect 16:9 -flags +ilme+ildct -alternate_scan 1 -top 0 DVDPAL.mpg

Ajouter un filigrane

ffmpeg -i film.mp4 -i filigrane.png -filter_complex ’overlay=0:0’ filigrane.mp4

Optimiser le démarrage de la vidéo pour internet

-c copy -movflags faststart

Créer une vidéo mp4 à partir d’un dcp

ffmpeg -lowres 2 -i *_j2c.mxf -i *_pcm.mxf -q:v 2 -b:a 256k -ac 2 video.mp4

à partir d’un dossier

ffmpeg -lowres 2 -framerate 24 -i */d06%.j2c -i *_pcm.wav -q:v 2 -b:a 256k -ac 2 video.mp4

  • 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 :

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

concaténer les bobines entre elles :

mencoder -oac copy -ovc copy bobine01.mov bobine02.mov -o film.mov

Encoder pour authoring blu-ray avec x264

d’après http://www.x264bluray.com/home

1080p23.976

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

1080p24

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

1080p25

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

1080i25

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

1080p29.97

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

1080i29.97

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

Pour x264 à partir de Ubuntu 14.04 :

ffmpeg -i VideoIn.mov -f rawvideo -pix_fmt yuv420p - | x264 --demuxer raw [...] --input-res 1920x1080 -o VideoOut.264 -

encoder l’audio en ac3 avec ffmpeg

ffmpeg -i input.file out.ac3

Multiplexer le *.264 et le *.ac3 avec TsMuxer

Créer un .264 à partir d’un dcp flat 24 images / seconde :

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 1920x1080 -o out.264 -

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

sudo cfdisk /dev/sdX

Formater cette partition en ext3 inode 128

sudo mkfs.ext3 -I 128 -L NOMDUDCP /dev/sdX

Monter la partition puis la rendre accessible en écriture

sudo chmod -R 777 /media/’user’/NOMDUDCP

Copier le contenu du dcp puis rendre la partition accessible en lecture/exécution

sudo chmod -R 555 /media/’user’/NOMDUDCP

Accès aux certificats des serveurs

DOREMI

ftp.doremilabs.com
user : service
pass : t3chn1c1an

DOLBY

ftp.dolby.co.uk
user : dolbyrootcertificates
pass : houro61l

CHRISTIE
certificates.christiedigital.com
LeJoliMai
Chr1st1eLJM0ne

GDC

ftp.gdc-tech.com
pubgdccert
20pub14lish

Site réalisé avec SPIP | Se connecter | Plan du site | Contact