Hogyan lehet átalakítani az .mkv fájlt a .mp4 fájlba veszteség nélkül?

104

A Matroska konténerből származó videofájlt mp4 tartályba kell konvertálni. A Matroska fájl egy h.264 videó sávot és egy AC3 hangsávot tartalmaz. Lehetségesnek kell lennie veszteség nélkül, de hogyan kell ezt csinálni az eredeti Ubuntu eszközökkel?

A transzkódolás nem lehet opció.

    
készlet Seppo Erviälä 25.06.2011 01:22
forrás

6 válasz

137

Talán a legegyszerűbb eszköz erreffmpeg, vagyavconv alibav-tools csomagból. A Libav egy FFmpeg villa, amelyet az Ubuntu néhány évig váltott az Ubuntu 15.04-ig. Ez egyike a számos válaszban említett GUI-eszköz hátterének.

A tartály cseréje a tartalom újragondolása nélkül nem lehet egyszerűbb:

ffmpeg -i input.mkv -codec copy output.mp4
  • Automatikusan észleli a Matroska to MP4 konstans konverzióját a bemeneti / kimeneti fájlnevek alapján.

  • -codec copy stream-másolatot vagy "re-muxes" -at, a streameket a bemenetről a kimenetre újra kódolás nélkül. Gondold át, mint másolatot és beillesztést.

  • Az alapértelmezett adatfolyam kiválasztási viselkedés szerint csak egy adatfolyamot választhat stream-típusonként. Ha például a bemenet két videófolyamot és egy hangfolyamot tartalmaz, akkor csak a legnagyobb keretmérettel rendelkező videotáblát választja ki. Add hozzá-map 0 -ot, ha az összes folyamatot ki szeretné választani a beviteltől.

  • Egyes konténerek nem támogatnak bizonyos formátumokat. Tehát ellenőrizze, hogy a kiválasztott konténer formátuma, legyen azmkv,mp4 vagy akáravi támogatja az összes tartalom fájlt (videó, feliratok, adatok, stb.). Például amp4 nem támogatja a feliratokat (.srt fájlok).

válasz adott MestreLion 02.10.2012 01:59
forrás
24

Szükséges szoftver beszerzése

sudo apt-get install gpac mkvtoolnix

Videó és hang felvétele a matroska fájlból

Először ellenőrizni kell, hogy a matroska fájl melyik számát tartalmazza

mkvmerge --identify video.mkv

File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AC3)

Ezután húzza ki a videót és a hangot a számok szerint:

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 audió és videó mp4 tartályba

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

Hozzá kellett adni a-fps 24 opciót, mert aMP4Box nem észlelte a videofps-et helyesen. Használattól függőenAC3 audió sávot át kell kódolni valami másba a muxing előtt.

Most már elveszíted a patronokat a matroska konténerből az mp4 konténerbe, anélkül, hogy elveszíted a minőséget.

EDIT: Az MP4 hivatalosan nem támogatja az AC3 audiót, így a hangsávot támogatott formátumúra kell konvertálni (pl. AAC, MP3), ha a fájlt más VLC-n keresztül is lejátszhatja.

    
válasz adott Seppo Erviälä 25.06.2011 13:03
forrás
12

Használhatja az Avidemux

fájlt

A grafikus felhasználói felülettel rendelkezik.

Ha mkv-ről mp4-re konvertálod, nem kódolódik újra.

Az átalakítás egy perc alatt történik (60 percig).

  1. sudo apt-get install avidemux

  2. Nyissa meg az mkv fájlt az avidemux-ban.

  3. Válassza ki a biztonságos módot, ha azt kéri.

  4. Hagyja a videót másolatként.

  5. Válassza a Fájl > Tulajdonságok. Ellenőrizze, hogy az audiokodekaac.

    1. Ha az audio codec NEM aac, akkor válassza aaac(faac) -ot.
    2. Ellenkező esetben hagyjacopy -ként. (Néha ezt a lehetőséget használja a hang nincs szinkronizálva vagy torzítva, ebben az esetben válassza aaac(faac) helyett.)
  6. Válassza amp4 formátumot.

  7. Válassza ki a mentést, válassza ki a helyet és írja be a fájlnevet a.mp4 -kal, mint a kiterjesztés.

Megjegyzés: Néha (~ 10% esély) meghibásodhat. Ezután használja ahandbrake(re-encode) -ot.

Megjegyzés2: két link létezik:

link

link

    
válasz adott loksena 03.08.2012 18:43
forrás
2

Használhatja az alkalmazásomat, dmMediaConverter . Csak hagyja a " másolatot " mindkét ellenőrzött adatfolyamra (nincs átkódolás), és tegye a .mp4 értéket a kimeneti fájl nevére. Ez az. Nagyon egyszerű. link

    
válasz adott mdalacu 21.06.2017 08:17
forrás
-2

Mivel az MPEG 14. rész natív módon támogatja a h.264 és az AC3 kódolást, egyszerűen átnevezheti a fájlt, így a.mp4 kiterjesztés a.mkv kiterjesztés helyett.

    
válasz adott Richard 26.12.2013 16:21
forrás
-2

Kipróbálhatja HANDBRAKE hozzáadásával a PPA-t azzal, hogy beírja ezt a kódot a terminálba:

sudo add-apt-repository ppa:stebbins/handbrake-releases
    
válasz adott 13east 25.06.2011 05:13
forrás