3
mars
2023
Travailler avec des DVD sous Linux, programme ffmpeg
18:52

Travailler avec des DVD sous Linux, programme ffmpeg

3 mars 2023 18:52

Il arrive que mes collègues apportent des DVD contenant des films enregistrés sur le disque et les convertissent en fichiers MPEG4 sur leurs ordinateurs. J'ai tenté de résoudre ce problème et de partager mon expérience avec les DVD.

Présentation

Cet article a été écrit pour moi-même - pour résumer l'expérience de travail avec la vidéo DVD sous Linux pour des applications telles que :

  • capturer une vidéo à partir d'un DVD terminé
  • extraire la vidéo et le son
  • découper des fragments
  • traduction de vidéo et de son vers d'autres formats
  • combiner plusieurs fragments en un seul fichier
  • enregistrement sur un autre disque.
    La section 10 fournit des commandes pour travailler avec des DVD.
    La question de la création de DVD dans les programmes de conception de DVD est également brièvement abordée.

Histoire du DVD vidéo

Initialement, des CD-R ont été créés avec une faible vitesse de lecture (150 kbps pour la vitesse 1x, 1 200 kbps pour la vitesse 8x) adaptée à la lecture audio. Les algorithmes de compression vidéo MPEG et MPEG2 utilisés à cette époque (1996-2000) ne permettaient pas de stocker des vidéos de qualité diffusion (D1 ou PAL 720x576 à 50 trames par seconde). Après l’invention des DVD, les vitesses de transfert ont augmenté. En pratique, la vitesse de lecture minimale d'un disque DVD est de 1 385 000 octets par seconde (1,352 Mo/s), et à la « 24ème » vitesse - 3 324 000 kbit/s ou 32,4 Mo/s. À titre de comparaison, la qualité vidéo « studio » est de 25 Mbit/s et les flux dans les multiplexes de télévision numérique DVB-T2 (MPEG4) sont d'environ 2,4 à 2,6 Mbit/s. Les disques DVD sur lesquels la vidéo est enregistrée doivent être conformes au format vidéo DVD, qui prend en charge non seulement le stockage de fichiers, mais également les « couvertures », les « chapitres », l'audio multicanal 5+1 (6) canaux et les sous-titres. Un disque DVD ordinaire a une capacité de 4,7 Go, ce qui est nettement supérieur aux 700 Mo d'un CD-R. La haute qualité d'image sur les lecteurs DVD domestiques lors de l'utilisation du codec MPEG2 et du son stéréo et multicanal en Dolby AC3 a contribué à la diffusion rapide des lecteurs DVD parmi les consommateurs de l'industrie du divertissement à domicile. L’ère du « home cinéma » est arrivée. Pour les amateurs de voyages, les caméscopes Sony sont apparus directement sur DVD dans un format plus petit - 8 centimètres de diamètre et 1,46 Go de capacité, à partir desquels les enregistrements pouvaient être visionnés à la maison sur un lecteur DVD ou un « vidéo deux » (un téléviseur avec un lecteur DVD intégré) sans avoir besoin de montage. ou le doublage. La vidéo DVD a complètement remplacé les enregistrements sur cassettes vidéo VHS et VHS-C en 2000. Actuellement, l'utilisation des DVD stagne, car les disques BlueRay haute capacité pour la vidéo 4K sont distribués lentement en raison de leur prix élevé.

L'urgence du problème de la conversion de DVD en fichiers MPEG4 (AVC) / MKV

La raison pour laquelle les utilisateurs abandonnent les vidéos DVD pour stocker de vieux films sous forme de fichiers MPEG4 est la durabilité. Si l’on considère la date originale du début de l’utilisation des DVD vidéo comme 2000, la durée de conservation moyenne des disques est de 20 à 60 ans. En 2023, une certaine partie des disques DVD-R pourrait devenir difficile à lire. En outre, le stockage domestique NFS (stockage de fichiers en réseau) pour les vidéos personnelles, les films et les photos s'est récemment répandu. L'avantage du NFS est la redondance et l'absence de risque de perte d'un disque CD ou DVD suite à un dommage mécanique (chute, rayures, etc.). Ainsi, le problème de la conversion d'un DVD vidéo vers d'autres formats en 2023 est d'actualité.

1. Schéma de travail avec des disques DVD

Jusqu'en 2002, il existait un projet visant à numériser d'anciennes bandes vidéo à partir d'un magnétoscope VHS analogique.
schéma vhs

Après 2002 et aujourd'hui, après le passage au DVD, les anciennes vidéos ne sont plus numérisées,
cycle de traitement entièrement en vidéo numérique à partir de fichiers DVD et AVI/MP4/MKV sur PC.

schéma_dvd

Toutes les étapes seront expliquées plus loin dans l'article. Brève description du programme :

  1. Sur le côté gauche se trouve le disque DVD-R ou CD-R original avec vidéo.

  2. Pour supprimer des informations sur des disques DVD/CD, on utilise le programme « ripper », du mot anglais « rip » - déchirer, déchirer, démolir. Au lieu d'utiliser un DVD, vous pouvez simplement ouvrir le disque dans l'Explorateur et copier son contenu sur votre PC local.

  3. Dans la partie supérieure droite de l'image, le grand carré est un fichier "transport" AVI au format MPEG2, contenant de la vidéo et de l'audio de même qualité que le DVD original. Nous considérerons ce fichier AVI comme matériel source.

Si l'utilisateur demande à couper un fragment de la vidéo, vous pouvez utiliser l'utilitaire ffmpeg traitez le fichier et enregistrez une partie de la vidéo sans modification de la vidéo et de l'audio dans un fichier séparé, de l'heure de début à l'heure de fin. Le montage vidéo peut être effectué dans un programme d'édition vidéo tir ouvert(disponible dans la boutique d'applications flatpak "FlatHub" et en tant que package système), et éditez la vidéo. Dans cet article, peu d'attention sera accordée à la question de l'installation.

  1. Si la demande implique également un transcodage vidéo, le fichier AVI original ou un fragment coupé de la vidéo deviendra le matériau source du convertisseur MPEG-4 couche 2 (AVC). Dans la partie centrale de l'image se trouve le résultat : le fichier sorti du conteneur est MP4 ou MKV avec une vidéo compressée en MPEG-4 (AVC) et audio AC-3, pour le stockage dans une archive sur un PC. Un tel fichier MP4 ou MKV est généralement nettement plus petit que la taille d'un disque DVD. La compression en MPEG4 AVC étant plus efficace, avec la même qualité, vous pouvez utiliser un débit binaire inférieur. Par exemple, 90 minutes de vidéo sont enregistrées sur un DVD - 4,7 Go, dont 4,2 Go pour la vidéo et 0,5 Go pour le son, ce qui signifie que le débit vidéo sera de 4,2*8*1024/(1,5*3600)=6,37 Mbit/s, et lorsqu'il est compressé en MP4 avec un débit de 2,4 Mbit/s, le volume occupé est inférieur à 2,4/6,37*4,2=1,58 Go vidéo + 0,5 Go audio = ~ 2,08 Go => c'est à dire que le film prendra désormais 56% de place en moins.

  2. Graver MP4 directement sur DVD en tant que « disque de données » est possible, mais il s'ouvrira moche - pas en tant que disque, mais en tant que dossier ordinaire avec un fichier, comme un « lecteur flash ». Pour créer un beau projet d'un nouveau disque DVD ou CD-R avec le menu principal - la pochette du DVD, utilisez un logiciel de création (atelier DVD) - tel que DVDStyler, dont nous avons parlé dans l’article précédent. Dans celui-ci, vous pouvez créer le menu principal affiché sur l'écran du téléviseur lors du chargement d'un DVD. Le menu d'ouverture donne une impression générale du disque, comme "Mes vacances" avec un paysage d'été en arrière-plan, et peut contenir des liens ou des boutons qui rappellent des chapitres individuels de la vidéo du film. De plus, certains programmes disposent d'un transcodeur vidéo intégré - un « convertisseur » qui compressera la vidéo à la taille de média requise.

  3. Le programme de conversion ne peut pas toujours être utilisé, mais uniquement lorsque vous devez transcoder une vidéo entre des formats, par exemple de MPEG2 à MPEG4 (AVC). L'utilitaire de console FFmpeg peut agir comme un convertisseur ; des exemples de son utilisation seront discutés dans cet article.

  4. La gravure d'un projet DVD sur un DVD-R ou un CD-R « vierge » peut souvent être effectuée à partir du programme de l'auteur. Mais à mon avis, il est préférable d'utiliser l'écriture à partir d'un fichier image ISO dans un utilitaire spécialisé pour graver des ISO sur DVD/CD, par exemple,Xfburn,k3b ou Braséro. La gravure à partir d'une image est également utilisée pour publier plusieurs copies d'un disque.

Deux méthodes de traitement - avec et sans recodage :

  • Recodage si à un moment donné le codec vidéo ou audio change, le recodage a lieu, par exemple, de MPEG2 vers MPEG4. En conséquence, la qualité se détériore, en particulier dans les scènes animées et si le matériel source a été enregistré à un débit binaire très élevé (niveau studio 25-50 Mbit/s) et le résultat à un faible (0,8-1 Mbit/s). En fonction de la qualité de la vidéo source, des paramètres du programme d'encodage, du nombre de passes (recommandé 2), lors de la lecture du résultat du transcodage - un fichier mp4, les pertes ne seront pas perceptibles à l'œil nu à des débits binaires de 2,5 à 3 Mbit/s. Avec une forte compression de vidéo en pleine résolution PAL 720x576i, des artefacts peuvent apparaître dans la vidéo - perte de clarté, « carrés », « gelée », etc.

    *Traitement de cheminement. Si aucune conversion (enregistrement) des données vidéo et audio n’est utilisée à toutes les étapes, il n’y a aucune perte de qualité. Cette méthode est appelée « path-through » ; les données ne sont pas déformées, dégradées ou améliorées – « telles quelles ». Le fichier MPEG2 aura la qualité du DVD original. Après quoi, le fichier peut également être gravé sur DVD sans réencodage, au format MPEG2 avec le même son qu'auparavant.

2. Installation de packages sous Linux pour la lecture de DVD et de fichiers AVI/MP4 individuels

2.1 Installation des codecs vidéo et audio

libavcodec-extra est un métadossier responsable de l'installation des codecs suivants :

  • Libaom3 - Bibliothèque de codecs vidéo AV1
  • Libaribbb24-0-lib pour le décodage Arib std-b24 (fichiers d'exécution)
  • Libavutil56 - Bibliothèque FFMPEG avec des fonctions pour simplifier la programmation - Fichiers d'exécution
  • Libcairo2 - Bibliothèque de graphiques vectoriels 2D du Caire
  • libcodec2-1.0 - Bibliothèque d'exécution Codec2
  • libdav1d5 - décodeur de flux vidéo AV1 rapide et petit (bibliothèque partagée)
  • libgsm1 - Bibliothèques communes pour le compresseur vocal GSM
  • liblzma5 - bibliothèque de compression au format XZ
  • libmfx1 - Intel Media SDK - Bibliothèque partagée
  • libmp3lame0 - bibliothèque d'encodage mp3
  • Libopencore -Amrnb0 - codec vocal AMR - bibliothèque partagée
  • Libopencore -Amrwb0 - Codec vocal large bande AMR-WB - bibliothèque partagée
  • Libopenjp2-7 - Bibliothèque de compression/décompression d'images JPEG 2000
  • Libopus0 - Bibliothèque d'exécution Opus Codec
  • Librsvg2-2 - Bibliothèque de rendu pour les fichiers SVG (runtime)
  • Libshine3 - Bibliothèque d'encodage MP3 à virgule fixe - fichiers d'exécution
  • libsnappy1v5 - bibliothèque de compression/décompression rapide
  • libspeex1 - bibliothèque d'exécution pour le code Speex
  • libswresample3 - Bibliothèque FFMPEG pour la révision audio, la révision, etc. - fichiers d'exécution
  • libswresample3 - Codec de compression vidéo Theora
  • libtwolame0 - Bibliothèque d'encodage Audio MPEG Audio 2
  • libva2 - API d'accélération vidéo (VA) pour Linux - runtime
  • Bibliothèque libvo-amrwbenc0-encoder Amr-WB Visualon Amr-WB
  • libvorbis0a - bibliothèque de décodage pour le codec de compression audio général Vorbis
  • libvorbisenc2 - Bibliothèque d'encodeurs pour le codec audio général Vorbis
  • libvpx7 - Codec vidéo VP8 et VP9 (bibliothèque partagée)
  • libwebp7 - Compression avec perte d'images photographiques numériques (WebP)
  • libwebpmux3 - Compression avec perte d'images photographiques numériques
  • libx264-163 - Bibliothèque d'encodage vidéo x264
  • Libx265-199 - H.265/Vide - Flux HEVC (bibliothèque partagée)
  • libxvidcore4 - codec vidéo MPEG-4 open source (bibliothèque)
  • libzvbi0 - Décodeur intervalle-intervalle vertical (VBI) - Fichiers d'exécution
  • Zlib1g - bibliothèque de compression - runtime.

Comme vous pouvez le constater, le colis libavcodec-extra grâce à des dépendances, il installera les codecs vidéo les plus importants MPEG-4, x264, h.265/HEVC et les codecs audio MP2, MP3.

1) Dans Ubuntu et Debian, le package "libavcodec-extra" est responsable des codecs.

sudo apt install libavcodec-extra

2) Sous Linux Mint, les codecs DVD sont installés à l'aide de la commande suivante

sudo apt install mint-meta-codecs

Si le PC exécutant Linux Mint n'est pas connecté à Internet, vous devez télécharger le package de codecs (apt download mint-meta-codecs), décompresser l'archive "mint-meta-codecs.tgz" sur une machine sans Internet et exécuter "sudo dpkg -i *.deb".

Pour visualiser les disques brouillés commerciaux (si les sessions sont protégées par CSS). Il n'est pas nécessaire d'installer les packages suivants si vous utilisez uniquement des DVD grand public.
su -
apt install libdvdcss2 libdvdread8

apt install libdvd-pkg

dpkg-reconfigure libdvd-pkg

Forfait supplémentaire libavcodec-extra58(facultatif), contient des codecs AMR pour les réseaux cellulaires, non requis pour les DVD.

  • Sous-titres ARIB STD-B24 (décodeur de sous-titres)
  • Bande étroite OpenCORE Adaptive Multi-Rate (AMR) (encodeur/décodeur)
  • OpenCORE Adaptive Multi-Rate (AMR) large bande (décodeur)
  • Android VisualOn Adaptive Multi-Rate (AMR) large bande (encodeur)

    su -
    apt install libavcodec-extra58

2.2 Installation de ffmpeg - un sous-système pour travailler avec la vidéo à partir de la ligne de commande

Les textes sources de la version la plus récente de ffmpeg se trouvent sur le site ffmpeg.org, sont destinés à l'auto-assemblage (compilation).
Pour les utilisateurs paresseux, vous pouvez installer ffmpeg depuis le référentiel. commande "apt install ffmpeg"

su -
apt install ffmpeg

Fonctionnalité Debian : le référentiel www.deb-multimedia.org/pool avec les dernières versions de ffmpeg pour Debian OS 10 Buster, 11 Bullseye, 12 Bookworm et la version instable "Sid" est pris en charge. La connexion au référentiel est décrite sur le site https://deb-multimedia.org/- vous devez ajouter la clé au trousseau, réparer le fichier apt - sources, puis exécuter apt-get update и apt-get dist-upgrade
-> Forfait ffmpeg et tous ceux qui en dépendent seront mis à jour vers les dernières versions.

Fonctionnalité Fedora: ffmpeg est dans le référentiel pour les packages supplémentaires :https://rpmfusion.org/, dont l'installation est décrite dans la section « Configuration » pour les versions les plus couramment utilisées de Fedora et Red Hat.

Vous pouvez connaître la version de ffmpeg avec la commande ffmpeg -version

Sous Linux Mint 21.1 :

  • ffmpeg version 4.4.2-0ubuntu0.22.04.1
  • libavutil 56.70.100
  • libavcodec 58.134.100
  • libavformat 58.76.100
  • libavdevice 58. 13.100
  • libavfilter 7.110.100
  • libswscale 5.9.100
  • libswresample 3.9.100
  • libpostproc 55.9.100

2.3 Installation de bibliothèques pour l'accélération vidéo matérielle

Graphiques intégrés Intel :

Ubuntu :

sudo apt install libva2 libva-x11-2

Debian :

su -
apt install libva2 libva-x11-2

Fedora

sudo dnf install libva-intel-driver

Graphiques DMLA (mesa) avec prise en charge du décodage vidéo matériel :

Ubuntu :

sudo apt install mesa-va-drivers mesa-vdpau-drivers

Debian :

su -
apt install mesa-va-drivers mesa-vdpau-drivers

Fedora

sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld

Graphiques DMLA- pilotes prenant en charge l'accélération matérielle :

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt install -y radeon

Graphiques nVidia- pilotes prenant en charge l'accélération vidéo matérielle :

Ubuntu :

Dans le menu "Système" - "Pilotes", remplacez le pilote avec le code source Nouveau par un pilote "personnalisé" pour la carte vidéo nVidia et redémarrez le PC.

Linux Mint

Au menu "Options" - "Gestionnaire de pilotes" installez un pilote personnalisé pour la carte vidéo nVidia et redémarrez le PC.

Fedora: source

sudo dnf install nvidia-vaapi-driver

2.4 Programmes - « lecteurs vidéo » pour lire des DVD ou des fichiers AVI, MP4, MKV

Regarder des DVD vidéo sous Linux se fait dans le lecteur de ligne de commande MPV ou dans son shell graphique - le programme - "celluloïd".

su -
apt install mpv celluloid

Pour les PC modernes et plus puissants, le lecteur vidéo VLC est plus adapté à la lecture de DVD.

su -
apt install vlc vlc vlc-l10n vlc-plugin-base

3. Création de vidéos DVD sous Linux

Programmes gratuits (freewate) :
Ouvrir le producteur de DVD
tovid- 2105, vous pouvez définir l'image et le son d'arrière-plan du menu principal et démarrer le processus de création du DVD. Textes sources : https://github.com/tovid-suite/tovid
*Varcha- un programme de création de DVD avec une interface graphique (GUI), écrit en Java, capable de graver des DVD.
*DVDStyler- Programme de création de DVD pour Linux, Mac et Windows

Installation de DVDStyler examiné dans l'article précédent. Étant donné que ce programme est multiplateforme, travailler avec le programme sur différents systèmes d'exploitation n'est pas différent.

Comme matériau pour des vidéos ou des chapitres sur un disque, je recommande des vidéos de haute qualité, par exemple celle-ci :

Matière première de haute qualité
Résolution vidéo -720x576 entrelacé(entrelacé, marge supérieure en premier).
Codec vidéo -MPEG2/ H.262/MPEG-2 Partie 2 avec débit binaire 20 ou 25 Mbit/s
Codec audio -PCM 16 bits stéréo

Les paramètres des flux vidéo et audio à l'intérieur du fichier conteneur peuvent être vus dans le programme MédiasInfo:

Le programme DVDstyler peut à la fois transcoder du matériel en MPEG4/AVC et enregistrer des flux vidéo et audio sans traitement de transit, en ajoutant uniquement la vidéo x.264 et le multiplexage audio AAC (ou MP2). DVDstyler ne prend pas en charge les sous-titres et le télétexte.

Paramètres du fichier résultant avec vidéo et audio pour la gravure de DVD :

Paramètre Signification
IMAGES
Format du conteneur AVI
Format vidéo MPEG2 pour les DVD «classiques» ; pour les lecteurs DVD chinois de BBK, etc. disons XVID ou DIVX3 / DIVX4. DIVX5
Relation entre les parties W:H 4:3 ou 16:9
Espace colorimétrique YUV
Sous-échantillonnage de couleurs 4:2:0 (format de base)
4:2:2 (avec des exigences accrues en matière de résolution des couleurs)
Profondeur de couleur 8 bit
Type de numérisation Entrelacé (Interlaced)
Ordre des champs En tête de liste (Top Field First)
Compression Avec des pertes
Taux de compression bits/(Pixel*Frame) de 0,8 à 2,2
Largeur 720 pixels
Hauteur 576 pixels
Vitesse du flux vidéo(débit vidéo) CBR 9000 kb/s pour 720 x 576i (où 9800 kbps est le maximum). Le VBR (flux de 5,0 à 8,0 Mbit/s) est fréquemment utilisé.
4 Mbit/s - pour une résolution de 352 x 480
1,5 à 2 Mbit/s - pour une résolution QCIF de 352 x 288
Couleurs primaires, caractéristiques de transfert et coefficients matriciels BT.709
SON
Taux d'échantillonnage audio 48 kHz
Nombre de canaux 2(pour MP2 et PCM),1 - 5.1(pour AC3)
Codec MP2 (audio MPEG2),Dolby AC-3 (AC3) ou PCM(LPCM) 16 bits, 48 kHz - pour les DVD « classiques » ; Le son est acceptable pour les joueurs chinois MP3 jusqu'à 256k
Débit binaire audio (débit audio) 192k AC3 stéréo

4. Gravure de disque - Xfburn

su -
apt install xfburn

XFburner

5. Capturez les informations d'un disque DVD gravé. Copie de fichiers du dossier VIDEO_TS

5.1 Méthode n°1 - extraction de fichiers d'un disque DVD-Vidéo

Les disques DVD sont reconnus sur l'ordinateur comme un support de stockage numérique classique, avec un dossier VIDEO_TS.
Vous devez le copier sur votre ordinateur manuellement ou à l'aide d'un utilitaire "dvdbackup".
Un petit programme dvdbackup pour extraire des données de disques DVD pour Debian et Ubuntu.

Installation de sauvegarde DVD :

 apt install dvdbackup

Utilisation de la sauvegarde de DVD :

cd ~; mkdir dvd123
dvdbackup -M -i /dev/cdrom -o ~/dvd123

principaux paramètres dvdbackup:

-I- afficher des informations sur le DVD.
-M--mirror met en miroir le DVD dans un dossier sur le disque local
-i DEVICE - исходное устройство, где DEVICE может быть /dev/cdrom etc
-o DIRECTORY- dossier de sortie pour enregistrer les fichiers du DVD. Si le dossier de destination n'est pas spécifié, le répertoire courant sera utilisé.

5.2 Méthode n°2 - création d'une image disque DVD-Vidéo - un fichier *.ISO

La obtenir des informations du DVD ("dvd ripping") peut être effectuée à l'aide d'outils standard - le programme DD:

sudo dd if=/dev/cdrom of=disk.iso bs=1M

Le montage d'images ISO peut être effectué dans le gestionnaire de fichiers PCmanFM (http://sourceforge.net/projects/pcmanfm)
dans le menu contextuel du clic droit :"Ouvrir avec" - "Monter les images disque". l'image ISO sera montée sous forme de DVD virtuel.

6. Description des fichiers du dossier VIDEO_TS

Fichier Taille Destination Descriptif
VIDÉO_TS.BUP 12K Gestionnaire vidéo, v11 Copie de sauvegarde (BackUP) du fichier VIDEO_TS.IFO au cas où ce dernier serait mal lu (à cause de rayures)
VIDEO_TS.IFO 12K Gestionnaire vidéo, v11 Fichier contenant des informations sur le disque DVD (INFORMATIONS). Le fichier IFO lui-même ne contient aucune information vidéo. Au lieu de cela, le fichier IFO fait référence à des données vidéo. Il est utilisé avec les fichiers VOB, qui stockent les données audio et vidéo réelles du film.
VIDÉO_TS.VOB 76K Séquence MPEG, v2, programme multiplex Le début du contenu contient généralement des menus et des bandes-annonces vidéo.
VIDÉO_01_0.BUP 18K Ensemble de titres vidéo, v11 Copie de sauvegarde (BackUP) du fichier VTS_01_0.IFO au cas où ce dernier serait mal lu (à cause de rayures)
VTS_01_0.IFO 18K Ensemble de titres vidéo, v11 Menu et sous-titres. Fichier binaire.
VTS_01_0.VOB 234 Ko Séquence MPEG, v2, programme multiplex Fichier vidéo, économiseur d'écran noir 720x576i 25fps PAL, codec vidéo MPEG2/audio AAC. Partie 0
VTS_01_1.VOB 500M Séquence MPEG, v2, programme multiplex Fichier vidéo principal, fichier vidéo PAL 720x576i 25 ips, codec vidéo MPEG2/audio AAC. Partie 1
VTS_01_2.VOB 500M Séquence MPEG, v2, programme multiplex Fichier vidéo principal, fichier vidéo PAL 720x576i 25 ips, codec vidéo MPEG2/audio AAC. Partie 2
VTS_01_3.VOB 500M Séquence MPEG, v2, programme multiplex Fichier vidéo principal, fichier PAL cinema720x576i 25fps, codec vidéo MPEG2/audio AAC. Partie 3

7. Lire des fichiers vidéo DVD dans divers programmes

Monospace :

mpv VIDEO_TS.IFO

celluloïd :

celluloid VIDEO_TS.IFO

VLC - contrairement aux programmes précédents, la lecture du film ne démarre pas automatiquement, mais est appelée sur l'écran du menu du disque (« lecture du menu » se produit)

vlc VIDEO_TS.IFO

8. Fusionnez les fichiers VOB en un seul et convertissez l'intégralité du film en fichier AVI sans réencodage (qualité : "même qualité")

cd ~/dvd123/VIDEO_TS
cat \*.VOB | pv | dd of=combined.vob
ffmpeg -i combined.vob -q:a 0 -q:v 0 -c copy -sn -y combined.avi

8.1 Convertir un fichier VOB spécifique d'un DVD au format MPEG2 en AVI :

ffmpeg -i VTS_01_1.VOB -q:a 0 -q:v 0 -c copy out-part1.avi

Conversion d'un fichier DVD VOB au format DIVX, XVID, MPEG4, AVC en AVI par méthode de copie :

ffmpeg -i VTS_01_1.VOB -c:v libx264 -crf 0 -c copy out-x264.avi

où est la clé -crf заменяет ключи -q:v / -qscale:v qui sont ignorés par libx264.

CRF - Facteur de taux constant (Encodage FFmpeg Wiki H.264)
-crf 0 signifie encodage sans perte.

8.2 Conversion en AVI avec transcodage simultané de l'audio Dolby AC-3 multicanal en stéréo MP3 :

Remarque : sur les DVD commerciaux et les caméscopes avec son 3D, l'audio original peut être au format AC3 (« Dolby AC-3 »), puis l'audio doit encore être réencodé pour que le fichier puisse être lu sur la plupart des lecteurs.

Flux audio 160 kbit/s, qualité -aq 2 :

ffmpeg -i VTS_01_1.VOB -q:v 0 -vcodec copy -acodec libmp3lame -b:a 160k -aq 2 out-mp3.avi

Dans ces exemples de commandes, si vous souhaitez convertir le film entier, remplacez le nom de fichier VTS_01_1.VOB par Combined.avi.

9. Coupez un fragment vidéo de ss secondes à tt secondes (qualité : "même qualité") à l'aide de ffmpeg

Pour les fichiers DVD au format MPEG2 :

ffmpeg -i VTS_01_1.VOB -q:a 0 -q:v 0 -c copy -ss 0:28 -to 0:35 out-1_28-35.avi

Pour les fichiers au format MPEG2 et DIVX/XVID/MPEG4/AVC :

ffmpeg -i VTS_01_1.VOB -crf 0 -c copy -ss 0:28 -to 0:35 out-1_28-35.avi


-ss - démarrer ; 0:28 - temps depuis le début de la vidéo 0 minutes 28 secondes
-to - финиш ; 0:35 - время с начала видео 0 минут 35 секунд

10. Transcodage du fichier vidéo AVI original à l'aide de l'outil ffmpeg

La manière générale d'appeler ffmpeg est :

ffmpeg -i исходный_файл параметры ... конечный файл

10.1 Transcoder la vidéo en audio MPEG4 / MP3 128k (codec boiteux)

Convertir le fichier 1.avi en out-mp4.avi au format MPEG2
КонLe conteneur du fichier résultant est AVI, débit 1200 kbps CBR, format MPEG4. Format audio-MP3 128k.

ffmpeg -i 1.avi -f avi -c:v mpeg4 -b:v 1200k -g 300 -bf 2 -c:a libmp3lame -b:a 128k out-mp4.avi

10.2 Transcoder la vidéo au format x264 / audio AAC 128k, 2 passes

Stream 1200 kbit/s CBR - débit constant, en deux passes (la première passe « étudie » le matériel, la seconde transcode la vidéo et ajoute de l'audio au format AAC).

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -b:v 1200k -passlogfile 1_pass.log -f rawvideo -y /dev/null

ffmpeg -i 1.avi -pass 2 -vcodec libx264 -b:v 1200k -c:a aac -b:a 128k -passlogfile 1_pass.log out-avc.avi

10.3 Transcoder la vidéo au format x264 / MP3 lame 128k audio avec une qualité accrue, en 2 passes

Stream 1200 kbps CBR - débit binaire constant, codec vidéo x264, audio VBR aq=2 (environ 190 kbps, stéréo).

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -b:v 1200k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -i 1.avi -pass 2 -vcodec libx264 -b:v 1200k -acodec libmp3lame --aq 2 -passlogfile 1_pass.log out-avc.avi

Vidéo de qualité 23 (VBR) -crf 23 pour un flux d'environ 2Mbit/s :

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -crf 23 -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vcodec libx264 -crf 23 -acodec libmp3lame -b:a 160k -aq 2 -passlogfile 1_pass.log out-avc-crf23.avi

10.4 Transcodage vidéo au format x264 ; copier le son sans traitement

Diffusez du CBR à 1 200 kbps.

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -b:v 1200k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vcodec libx264 -b:v 1200k -c:a copy -q:a 0 -passlogfile 1_pass.log out-avc-acopy.avi

10.4 Transcodage vidéo au format x264 (conteneur MKV) ; copie sonore (sans traitement)

Flux vidéo 1200 kbps CBR :

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -b:v 1200k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vcodec libx264 -b:v 1200k -c:a copy -q:a 0 -passlogfile 1_pass.log out-avc.mkv

10.5 Réencodage du fichier vidéo au format x264 (conteneur MP4) ; copie sonore (sans traitement)

Flux 1200k

ffmpeg -i 1.avi -pass 1 -vcodec libx264 -b:v 1200k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vcodec libx264 -b:v 1200k -c:a copy -q:a 0 -passlogfile 1_pass.log out-avc.mp4

10.6 Recodage vidéo avec changement de la résolution LxH à 360x288 dans un fichier x264 (conteneur MP4) ; son MP3 boiteux

Flux 1200k

`ffmpeg -i 1.avi -pass 1 -vf scale=360:288,setsar=1:1 -vcodec libx264 -b:v 700k -passlogfile 1_pass.log -f rawvideo -y /dev/null

ffmpeg -y -i 1.avi -pass 2 -vf scale=360:288,setsar=1:1 -vcodec libx264 -b:v 700k -acodec libmp3lame -b:a 160k -aq 2 -passlogfile 1_pass.log out-avc.mp4`

10.7 Recoder la vidéo en changeant la résolution LxH à 360x756, tout en conservant le rapport hauteur/largeur 4x3, dans un fichier x264 (conteneur MP4) ; son MP3 boiteux

ffmpeg -i 1.avi -pass 1 -vf scale=360:576,setsar=2/1 -vcodec libx264 -b:v 700k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vf scale=360:576,setsar=2/1 -vcodec libx264 -b:v 700k -acodec libmp3lame -b:a 160k -aq 2 -passlogfile 1_pass.log out_avc360x576.avi

10.8 Recoder la vidéo en changeant la résolution LxH à 720x288, tout en conservant le rapport hauteur/largeur 4x3, dans un fichier x264 (conteneur MP4) ; son MP3 boiteux

ffmpeg -i 1.avi -pass 1 -vf scale=720:288,setsar=1/2 -vcodec libx264 -b:v 700k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vf scale=720:288,setsar=1/2 -vcodec libx264 -b:v 700k -acodec libmp3lame -b:a 160k -aq 2 -passlogfile 1_pass.log out_avc720x288.avi

10.9 Recodage vidéo avec modification de la résolution LxH à 360x288, dans un fichier au format hevc x265 (conteneur MKV) ; son MP3 boiteux

ffmpeg -i 1.avi -pass 1 -vf scale=360:288,setsar=1/1 -vcodec libx265 -b:v 500k -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -y -i 1.avi -pass 2 -vf scale=360:288,setsar=1/1 -vcodec libx265 -b:v 500k -acodec libmp3lame -b:a 160k -aq 2 -passlogfile 1_pass.log out_x265.mkv

10.10 Transcodage d'un fichier pour le Web (réglage soigné des flags - profil x264 High, niveau 3.1), format 4:3 ; son mp3

Format vidéo 4:3 :

ffmpeg -i 1.avi -t 10 -vf scale=360:288,setsar=1/1 -vcodec libx264 -b:v 400k -level 21 -refs 2 -pix_fmt yuv420p -profile:v high -level 3.1 -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -af "pan=mono|c0=c1" -acodec libmp3lame -b:a 60k -dn web.mp4

Format vidéo 16:9-

Paramètre d'aspect :-aspect 16:9 à n’importe quelle résolution d’entrée.

ffmpeg -i 1.avi -t 10 -vf scale=640:360,setsar=1/1 -vcodec libx264 -level 21 -refs 2 -pix_fmt yuv420p -profile:v high -level 3.1 -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -af "pan=mono|c0=c1" -acodec libmp3lame -b:v 500k -b:a 48k -dn web2.mp4

ffmpeg -i 1.avi -t 10 -vf scale=360:288,setsar=1/1 -vcodec libx264 -level 21 -refs 2 -pix_fmt yuv420p -profile:v high -level 3.1 -color_primaries 1 -color_trc 1 -colorspace 1 -movflags +faststart -af "pan=mono|c0=c1" -acodec libmp3lame -b:v 500k -b:a 48k -dn web2.mp4

-dn signifie ne pas copier le flux de données (Données - non).

Son:

Pour un son mono, ajoutez un filtre audio -af "pan=mono|c0=c1". Pour couper le son - paramètre -un(signifie audio - non).

Au lieu de la vitesse maximale -b:a 112k, vous pouvez utiliser le paramètre de qualité moyenne
-aq 6 - qualité décente, débit 100-130k ;
-aq 5 - qualité satisfaisante, débit 120-150 ;
-aq 4 - par défaut 140-185k ;
-aq 2 très bonne qualité 170-210k.
Avec -aq 1, la taille du fichier est 1,5 fois plus élevée qu'avec -aq 6, ce qui n'est pas justifié pour le codage, par exemple, de la parole.

10.11 Encodage à débit variable, vitesse VBR de 1 Mbit/s à 2 Mbit/s (dans les zones difficiles), le son est également VBR de qualité 8 (environ 56 kbit/s)

ffmpeg -i 1.avi -c:v libx264 -b:v 1M -maxrate 2M -bufsize 2M -pass 1 -f mp4 -passlogfile 1_pass.log -f rawvideo -y /dev/null
ffmpeg -i 1.avi -c:v libx264 -b:v 1M -maxrate 2M -bufsize 2M -pass 2 -passlogfile 1_pass.log -acodec libmp3lame -af "pan=mono|c0=c1" -aq 8 vbr.mp4

10.12 Extraction de l'audio d'une vidéo - conversion en AAC (stéréo) ou WAV (mono)

ffmpeg -i 1.avi -vn -ac 2 -acodec aac sound.aac
ffmpeg -i 1.avi -vn -ac 1 - sound.wav

Voir aussi ici.

10.13 Augmenter le volume de la piste audio de +2dB

ffmpeg -i sound.wav -af "volume=+2dB" -y output.wav

10.14 Normalisation, compression sonore

ffmpeg -i sound.wav -af loudnorm=I=-10:LRA=1:tp=0 -ac 1 -y output.wav

10.15 Conversion WAV - MP2 (mono), débit 80 kbit/s

ffmpeg -i output.wav -acodec mp2 -ac 1 -b:a 80k -y final.mp2

10.16 Fusion d'un fichier vidéo AVI avec une nouvelle piste audio MP2 (la vidéo est copiée sans ré-encodage)

ffmpeg -i 1.avi -i final.mp2 -c:v copy -map 0:v:0 -map 1:a:0 Final.avi

10.17 Codage avec jeu de paramètres

Clé -target pal-vcd spécifie l'ensemble de paramètres suivant :
-f vcd -muxrate 1411200 -muxpreload 0.44 -packetsize 2324
-s 352x288 -r 25
-codec:v mpeg1video -g 15 -b:v 1150k -maxrate:v 1150v -minrate:v 1150k -bufsize:v 327680
-ar 44100 -ac 2
-codec:a mp2 -b:a 224k
Clé -target pal-dvd spécifie l'ensemble de paramètres suivant :
-f dvd -taux multiplexeur 10080k -taille des paquets 2048
-s 720x576 -pix_fmt yuv420p -r 25
-codec:v mpeg2video -g 15 -b:v 6000k -maxrate:v 9000k -minrate:v 0 -bufsize:v 1835008
-ar 48000
-codec:a ac3 -b:a 448k

Exemple : le fichier source a une résolution de 1280x720 (vidéo depuis un smartphone),
LA TÂCHE est de le graver sur DVD :

ffmpeg -i 2.mp4 -target pal-dvd -aspect 16:9 out.avi

Résultat :
mediainfo_dvd_16_9

11 Débits binaires recommandés pour le son stéréo

*ac3*>= 160k (pour l'audio multicanal 5.1)
aaa**>= 128k (basse qualité - parole -b:a 128k )
*mp3>= 128k (recommandé pour la musique -b:a 192k -aq 2)

Conversion du débit binaire en nombre de canaux requis :

*Débit = (débit stéréo) (nombre de canaux / 2)**

Pour le mono :
*ac3>= 80 000

*aaa*>= 64k (basse qualité - parole -b:a 64k )
mp3**>= 64k (recommandé pour la musique -b:a 96k -aq 2)

12. Résolutions vidéo standard et leurs débits binaires recommandés

| Technologie | Résolution | P/I | Fréquence de trame/champ, Hz | Titre | Codecs | Débit (web, archives), Mbit/s | Débit (bonne qualité), Mbit/s |

|---------|------------------------------|---|---|:---------------:|:------------------------------:|
| analogique | 352x240p, 4:3 PAL | p | 25/25 | CIF, PAL DVD-VHS | x.264 | 0,6 | 1.2 |
| analogique | 352x240p, 4:3 NTSC | p | 29.97/29.97 | CIF, NTSC DVD à 23,976 ips | x.264 | 0,6 | 1.2 |

| analogique | 352x288p, 4:3 PAL | p | 25/25 | CIF complet, FCIF | x.264 | 0,75 | 1.5 |
| analogique | 704x480i, 4:3 PAL | je | 25/50 | D1, PAL | x.264 | 0,8 | 2 |
| analogique | 720x480i, 4:3 NTSC | je | 30/60 | NTSC-D1 | x.264 | 0,9 | 2.2 |
| analogique | 720x288p, 4:3 | 25/25 | p | 2CIF, Demi-D1 | x.264 | 0,8 | 1.8 |
| analogique / numérique | 720x576i, 4:3 ou 16:9 | je | 25/50 | Full-D1, diffusion PAL,DVD, SD | x.264 | 1.3 | 2.5 |
| numérique | 544x576i, 16:9 | 25/50 | je | diffusion avec une qualité réduite | x.264 | 1.2 | 2.2 |
| numérique | 480x576i, 16:9 | 25/50 | je | diffusion avec une qualité réduite | x.264 | 1 | 2 |
| numérique | 352x576i, 16:9 | 25/50 | je | diffusion avec une qualité réduite | x.264 | 0,8 | 1.8 |
| numérique | 352x288p, 16:9 | 25/25 | je | diffusion avec une qualité réduite | x.264 | 0,6 | 1.3 |
| analogique | 768x576i, 16:9 | 25/50 | je | PAL-DV | x.264 | 1.3 | 2.5 |
| numérique | 1280x720p, 16:9 | p | 25/25 | 720p, HD | x.264 | 2 | 4 |
| numérique / analogique (systèmes de vidéosurveillance : AHD, MHD) | 1920x1080 | je | 25/50 | Full HD ou 2K) | x.264 | 3 | 5 |
| numérique | 1920x1080p | 30/30 | Full HD 1080p 30 ips ou 2K-30 ips | p | 30 | x.264 | 4 | 7 |
| numérique | 1920x1080p | 60/60 | Full HD 60 ips ou 2K-60 ips | p | 60 | x.264 | 6 | 10 |
| numérique | 2560x1440p | 25, | 3k | p | 25 | x.265 | 12 | 22 |
| numérique | 3840x2160p | 30, 60, 120 | 4k ou UHD | p | 30, 60 ou 120 | x.265 | 12 | 22 |

Application. Corrélation des formats vidéo par structure d'image

D1 = diffusion PAL

D1=4CIF
CAF = 1/4 D1

DemiD1=1/2 D1
2CIF = 1/2 D1
2CIF=DemiD1

Annexe 2. Rapport des zones de formats vidéo (ou nombre d'éléments d'image - pixels)

Full HD = 2K
FullHD = 5 * diffusion PAL

FullHD = 2,25 HD
FullHD = 0,75 3K
FullHD = 1/2 UHD
Full HD = 1/4 8K


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



Publications connexes