FFmpeg peut encoder des jpeg-2000 DCI-compliant.
- le workflow open-source
- Jusqu'à présent, les workflows gratuits de création DCP passaient par "image_to_j2k" ou "opendcp_j2K" qui en est dérivé
Tous deux ne supportent que les TIF en input, ce qui oblige à passer par un intermédiaire TIF, très lourd (jusqu'à 1TB et plus pour un long métrage).
Dans le cadre de la préparation d'un outil en ligne pour le portail du mastering DCP de Charbon Studio, j'ai pu apporter une contribution à FFmpeg permettant l'encodage de jpeg-2000 DCI-compliant.
- FFmpeg pour l'usage DCI
- EDIT : rgb2xyz filter is now obsolete, as FFmpeg has xyz built-in.
- A propos du filtre rgb2xyz
- le filtre rgb2xyz ne fait pas (encore) partie du code source de FFmpeg (j'ai soumis son code 2 fois aux développeurs de FFmpeg : en janvier 2013, une seconde en avril 2013, pour l'instant il n'a pas été retenu)
.
- Il faut donc patcher manuellement le code source de FFmpeg avant de le compiler pour pouvoir utiliser le filtre : télécharger le patch, enregistrez-le dans le même dossier que FFmpeg
- Puis avant de compiler :
cd ffmpeg ; git apply 0001-add-rgb2xyz-and-xyz2rgb-av_filters.patch
- Pour info ma ligne de compilation est :
./configure --enable-libopenjpeg --enable-avfilter --enable-libmp3lame --enable-libfaac --enable-gpl --enable-nonfree \
--enable-pthreads --enable-libx264 --extra-cflags="-I/usr/local/include" \
--extra-ldflags="-L/usr/local/lib" --enable-postproc --target-os=darwin --arch=x86_64 \
--enable-runtime-cpudetect && make && sudo make install
- Ressources
- Belle-Nuit est à l'origine de xyz2rgb sur lequel je me suis largement appuyé pour écrire le patch (je l'ai inclu au patch)