zondag 18 februari 2024

Converteer video containerbestanden

 Video bestanden convertren zonder te re-encoden spaart veel tijd. Deze tools bieden die mogelijkheid:

FFMPEG gebruiken

Misschien wel het gemakkelijkste hulpmiddel daarvoor is ffmpeg, of avconv uit het libav-tools-pakket. Libav is een fork van FFmpeg, waar Ubuntu een paar jaar naar overschakelde tot Ubuntu 15.04. Het is een van de backends voor veel van de GUI-tools die in andere antwoorden worden genoemd.

Het wijzigen van de container zonder de inhoud opnieuw te coderen kan niet eenvoudiger:

ffmpeg -i input.mkv -codec copy output.mp4

Het detecteert automatisch een conversie van Matroska naar MP4-containers op basis van invoer-/uitvoerbestandsnamen.

-codec copy streamkopieert, of “re-muxes”, de streams van de invoer naar de uitvoer zonder opnieuw te coderen. Zie het als kopiëren en plakken.

Het standaardgedrag voor streamselectie is om slechts één stream per streamtype te selecteren. Als uw invoer bijvoorbeeld twee videostreams en één audiostream bevat, wordt alleen de videostream met de grootste framegrootte geselecteerd. Voeg -map 0 toe als je alle streams uit de invoer wilt selecteren.

Sommige containers ondersteunen bepaalde formaten mogelijk niet. Controleer dus of het door u gekozen containerformaat, of het nu mkv, mp4 of zelfs avi is, ondersteuning biedt voor alle inhoud in uw bestanden (video, audio, ondertitels, gegevens, enz.). MP4 ondersteunt bijvoorbeeld geen SubRip-ondertitels (.srt-bestanden).

Om de audio naar AAC te transcoderen en de video als AVC te laten: avconv -i input.mkv -c:v copy -c:a libfaac output.mp4 (ik gebruikte ffmpeg, ik neem aan dat avconv hier dezelfde opdrachtregelargumenten heeft) –

Als je zowel de video als de audio (beide verliesvrij) wilt overbrengen en wilt voorkomen dat de ondertiteling verstikt, dan:

avconv -i input.mkv -c:v copy -c:a copy -sn output.mp4

MP4 ondersteunt de meeste gangbare audioformaten die in MKV’s worden gebruikt, waaronder MP3 en AAC. –

Je kunt ook ffmpeg gebruiken om een stukje van een bestand af te knippen zonder dat je de stream opnieuw hoeft te coderen, bijvoorbeeld als je de opname te laat hebt gestopt en een bestand wilt van de eerste seconde tot 50 minuten en 10 seconden:

ffmpeg -i INFILE.mp4 -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:50:10.000 OUTFILE.mp4

of voor mkv-bestanden:

ffmpeg -i inputfile.mp4 -map 0 -map -0:a:2 -c copy outputfile.mp4

Audio verwijderen of extraheren

Verwijder een specifieke audiostream/track

ffmpeg -i inputfile.mp4 -map 0 -map -0:a:2 -c copy outputfile.mp4

-map 0 selecteert alle streams uit de invoer.
-map -0:a:1 deselecteert vervolgens audiostream 2. De streamindex begint te tellen vanaf 0, dus audiostream 1 zou 0:a:0 zijn.

Verwijder alle audiostreams/tracks

ffmpeg -i inputfile.mp4 -map 0 -map -0:a -c copy outputfile.mp4

-map 0 selecteert alle streams uit de invoer.

-map -0:a deselecteert vervolgens alle audiostreams van de invoer.

Verwijder specifieke audiostreams/tracks

Bewaar alles behalve audiostreams #2 (op offset 1) en #6 (op offset 5):

ffmpeg -i inputfile.mp4 -map 0 -map -0:a:1 -map -0:a:5 -c copy outputfile.mp4

Verwijder alle ondertitels en gegevens

ffmpeg -i input -map 0 -map -0:s -map -0:d -c copy output

Voeg alleen video en audio toe

In dit voorbeeld hoeft geen negatieve toewijzing te worden gebruikt.

ffmpeg -i inputfile.mp4 -map 0:v -map 0:a -c copy outputfile.mp4

Andere stream-/tracktypen verwijderen

Als u andere streamtypen wilt verwijderen, kunt u de juiste streamspecificatie gebruiken.

v - video, zoals -map -0:v
a - audio, zoals -map -0:a (zoals hierboven weergegeven)
s - ondertitels, zoals -map -0:s
d - gegevens, zoals -map -0:d
t - bijlagen, zoals -map -0:t Extraheer of verwijder een specifiek audiokanaal
ffmpeg -i stereo.wav -filter_complex "[0:a]channelsplit=channel_layout=stereo:channels=FR[right]" -map "[right]" front_right.wav

Met behulp van een stereo-ingang en kanaalsplitfilter. Voorbeeld om alleen het juiste kanaal te verkrijgen en een mono-audiobestand uit te voeren: (één regel):

  • channel_layout is de kanaalindeling van de invoerstroom. De standaardinstelling is stereo.
  • Channel lists vermeldt de kanalen die moeten worden geëxtraheerd als afzonderlijke uitvoerstromen. De standaardinstelling is alles, waarbij elk ingangskanaal als een afzonderlijke, individuele stream wordt geëxtraheerd.
  • Zie ffmpeg -layouts voor een lijst met geaccepteerde kanaallay-outs (voor de optie channel_layout) en kanaalnamen (voor de optie kanalen).
  • Zie FFmpeg Wiki: Audiokanalen voor meer voorbeelden.

Meer informatie

-kaartoptiedocumentatie

FFmpeg-wiki: kaart

Met behulp van MKVtoolnix

Verkrijg de benodigde software:

sudo apt-get install gpac mkvtoolnix

Extraheer video en audio uit het Matroska-bestand. Eerst moet je controleren welke nummers het Matroska-bestand bevat

mkvmerge --identify video.mkv

File ‘video.mkv’: container: Matroska

Track ID 1: video (V_MPEG4/ISO/AVC)

Track ID 2: audio (A_AC3)

Extraheer vervolgens video en audio op basis van hun tracks met:

mkvextract tracks video.mkv 1:video.h264 2:audio.ac3

Extracting track 1 with the CodecID ‘V_MPEG4/ISO/AVC’ to the file ‘video.h264’. Container format: AVC/h.264 elementary stream

Extracting track 2 with the CodecID ‘A_AC3’ to the file ‘audio.ac3’. Container format: Dolby Digital (AC3)

Progress: 100%

Mux audio en video naar mp4-container

MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4
AVC-H264 import – frame size 1280 x 720 at 24.000 FPS
Import results: 31671 samples – Slices: 5672 I 125048 P 122648 B – 32288 SEI – 4936 IDR
AC3 import – sample rate 48000 – 6 channels
Saving to video.mp4: 0.500 secs Interleaving

Ik moest de optie -fps 24 toevoegen omdat MP4Box de video-fps niet correct detecteerde. Afhankelijk van het gebruik moet de AC3-audiotrack vóór het muxen opnieuw worden gecodeerd in iets anders. Nu heb je streams van de Matroska-container geremixt naar de mp4-container zonder kwaliteitsverlies.

MP4 ondersteunt officieel geen AC3-audio, dus de audiotrack moet worden geconverteerd naar een ondersteund formaat (bijv. AAC, MP3) als je wilt dat het bestand met iets anders dan VLC kan worden afgespeeld.

Avidemux gebruiken

Het heeft een goede GUI-interface. Bij het converteren van mkv naar mp4 wordt het niet opnieuw gecodeerd. De conversie is binnen een minuut voltooid (voor een video van 60 minuten).

 sudo apt-get installeer avidemux
  • Open het mkv-bestand in avidemux.
  • Selecteer de veilige modus als daarom wordt gevraagd.
  • Laat de video achter als kopie.
  • Kies Bestand-> Eigenschappen. Controleer of de audiocodec aac is.
  • Als de audiocodec NIET aac is, selecteer dan aac(faac).
  • Laat het anders als kopie staan. (Als u deze optie gebruikt, kan het geluid soms niet gesynchroniseerd of vervormd zijn. Selecteer in dat geval aac(faac).)
  • Selecteer mp4 voor formaat.
  • Selecteer opslaan, kies locatie en typ een bestandsnaam met .mp4 als extensie.

Opmerking: soms (~10% kans) kan het mislukken. Gebruik vervolgens

handbrake(re-encode).

Let op: er zijn twee links die u helpen:

http://www.ubuntugeek.com/avidemux-free-video-editor-designed-for-simple-cutting-filtering-and-encoding-tasks.html

http://www.ubuntugeek.com/how-to-convert-mkv-file-into-mp4-file-using-avidemux.html

Geen opmerkingen:

Een reactie posten

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

Installeer een theme in Grub bij Grub2

  je kunt zelf een theme maken of er een downloaden vanaf internet. Plaats het theme in een aparte map in /boot/grub/theme/ Vervolgens moet ...