zondag 3 maart 2024

Ondertitels of subtitels uit een videobestand uitlezen met FFMPEG

 FFMPEG is een zeer krachtig programma voor video bewerkingen.


Een manier om ondertitelbestanden uit een videobestand te lezen gaat alsvolgt:

ffmpeg -i "film.mkv" "ondertitel.srt"


uit het bestand videobestandsnaam.mkv wordt het ondertitelbestand S03E02.srt uitgelezen en in dezelfde map geplaatst.

maar als een .mkv bestand meerdere ondertitel streams heeft is het wat ingewikkelder:

ffmpeg -i "film.mkv"

Dit toont informatie over alle streams (video, audio, ondertitels) in het bestand. Zoek naar de sectie Subtitle en noteer het spoornummer (bijvoorbeeld 0:0, 0:1, 0:2, enz.).

Om het tweede ondertitelspoor (index 1) uit te lezen, gebruik je:

ffmpeg -i "film.mkv" -map 0:s:1 "ondertitel.srt"

  • -map 0:s:1 betekent: gebruik het tweede ondertitelspoor (index 1) uit het invoerbestand.

Voor het derde spoor (index 2):

ffmpeg -i "film.mkv" -map 0:s:2 "ondertitel.srt"

Met ffmpeg kun je specifieke ondertitelsporen uit een .mkv-bestand extraheren door het spoornummer op te geven. Om te weten welke sporen beschikbaar zijn, gebruik je eerst:

ffmpeg -i "film.mkv"

Dit toont informatie over alle streams (video, audio, ondertitels) in het bestand. Zoek naar de sectie Subtitle en noteer het spoornummer (bijvoorbeeld 0:0, 0:1, 0:2, enz.).

Om het tweede ondertitelspoor (index 1) uit te lezen, gebruik je:

ffmpeg -i "film.mkv" -map 0:s:1 "ondertitel.srt"
  • -map 0:s:1 betekent: gebruik het tweede ondertitelspoor (index 1) uit het invoerbestand.

Voor het derde spoor (index 2):

ffmpeg -i "film.mkv" -map 0:s:2 "ondertitel.srt"

Let op: , dus 0:s:0 is het eerste spoor, 0:s:1 het tweede, enzovoort.

Om de exacte taal, naam of andere details van de ondertitelsporen in je .mkv-bestand te bekijken, kun je de volgende opdracht gebruiken:

ffmpeg -i "film.mkv"

Let op: Deze opdracht toont alleen de metadata van het bestand, zonder iets te converteren of te extraheren.

Wat je ziet in de uitvoer:

  • Stream #0:X (waar X een nummer is): Dit is het streamnummer.
  • Subtitle: Geeft aan dat het een ondertitelspoor is.
  • Taal: Bijvoorbeeld dut (Nederlands), eng (Engels), fre (Frans), etc.
  • Metadata: Soms zie je hier ook de titel of beschrijving van het spoor.

Hoe je dit gebruikt:

  • Noteer het streamnummer (bijvoorbeeld 0:2).
  • Noteer de taalcode (bijvoorbeeld eng).
  • Gebruik vervolgens de -map 0:s:X optie om het gewenste spoor te extraheren, zoals eerder uitgelegd.
Om alle ondertitelsporen in je .mkv-bestand te bekijken, inclusief hun taal, type en metadata, gebruik je de volgende opdracht:

ffprobe -v error -show_streams -select_streams s -of default=noprint_wrappers=1:nokey=1 "film.mkv"

Wat deze opdracht doet:

  • ffprobe: Een tool die bij ffmpeg hoort, speciaal voor het analyseren van mediabestanden.
  • -v error: Toont alleen foutmeldingen, zodat de uitvoer overzichtelijk blijft.
  • -show_streams -select_streams s: Toont alleen informatie over ondertitelsporen (s).
  • -of default=noprint_wrappers=1:nokey=1: Zorgt voor een .

Wat je ziet:

  • index: Het nummer van het ondertitelspoor (bijvoorbeeld 2 of 3).
  • tags=language=...: De taalcode (bijvoorbeeld eng voor Engels, dut voor Nederlands).
  • title: De titel of beschrijving van het spoor (indien aanwezig).

Hoe je dit gebruikt:

  • Noteer het indexnummer van het spoor dat je wilt extraheren.
  • Gebruik vervolgens de ffmpeg-opdracht met -map 0:s:X (waar X het indexnummer is) om het gewenste ondertitelspoor te extraheren.

Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.

SFTP instellen op een Linux Mint 22.2

De casus is alsvolgt: Ik draai CasaOS op een linux mint 22.2 machine  waarop CasaOS draait met docker containers. Ik wil toegang tot enkele ...