Jak převést .mkv soubor do souboru mp4 bez ztráty?

104

Potřebuji převést video soubor z kontejneru Matroska do kontejneru mp4. Soubor Matroska obsahuje jednu videokazetu h.264 a jednu zvukovou stopu AC3. To by mělo být možné provést bez ztráty, ale jak to udělat s nativními nástroji Ubuntu?

Překódování není volba.

    
dané Seppo Erviälä 25.06.2011 01:22

6 odpovědí

137

Snad nejsnadnějším nástrojem jeffmpeg neboavconv z balíčkulibav-tools. Libav je vidlice FFmpeg, kterou Ubuntu přešel na několik let až do Ubuntu 15.04. Je to jedna z backendů pro mnoho nástrojů GUI uvedených v jiných odpovědích.

Změna kontejneru bez opětovného zakládání obsahu nemohla být jednodušší:

ffmpeg -i input.mkv -codec copy output.mp4
  • Automaticky detekuje konverzi kontejneru Matroska na MP4 na základě vstupních / výstupních jmen souborů.

  • -codec copy stream kopie nebo "re-muxes", proudy ze vstupu na výstup bez re-encoding. Přemýšlejte o tom jako o kopii a vložení.

  • Výchozí chování výběru streamu je výběr pouze jednoho streamu pro každý typ streamu. Například pokud má váš vstup dva video toky a jeden audio stream, bude vybrán pouze video stream s největší velikostí snímku. Přidejte-map 0, chcete-li vybrat všechny proudy ze vstupu.

  • Některé kontejnery nemusí podporovat některé formáty. Takže zkontrolujte, zda vybraný formát kontejneru , ať užmkv,mp4 nebo dokonceavi podporuje všechny soubory obsahu titulky, data atd.). Napříkladmp4 nepodporuje titulky SubRip (.srt files).

odpověděl MestreLion 02.10.2012 01:59
24

Získat potřebný software

sudo apt-get install gpac mkvtoolnix

Extrahujte video a zvuk ze souboru matroska

Nejprve je třeba zkontrolovat, jaké skladby obsahuje soubor matroska

mkvmerge --identify video.mkv

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

Výstup videa a zvuku podle jejich skladeb:

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 a video do mp4 containter

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

Musel jsem přidat možnost-fps 24, protožeMP4Box neodhalil video fps správně. V závislosti na využitíAC3 zvukové stopy by měly být znovu kódovány do něčeho jiného než muxing.

Nyní máte remuxované toky z matroska kontejneru do kontejneru mp4 bez ztráty jakékoliv kvality.

EDIT: MP4 oficiálně nepodporuje zvuk AC3, takže přehrávání zvukové stopy by mělo být převedeno do podporovaného formátu (např. AAC, MP3), pokud chcete, aby byl soubor přehrán v jiném než VLC.

    
odpověděl Seppo Erviälä 25.06.2011 13:03
12

Můžete použít Avidemux

Má dobré grafické rozhraní.

Při převodu z mkv na mp4 není překódován.

Konverze se provede během jedné minuty (u videa 60 minut)

  1. sudo apt-get install avidemux

  2. Otevřete soubor mkv v avidemux.

  3. Zvolte nouzový režim, pokud budete vyzváni.

  4. Nechte video jako kopii.

  5. Zvolte File- > Vlastnosti. Zkontrolujte, zda je kodek zvukuaac.

    1. Pokud audio kodek NENÍ AAC, vyberteaac(faac).
    2. Jinak to ponechte jakocopy. (Někdy s touto volbou může být použito zvuk být v synchronizaci nebo zkreslený, v tom případě vyberteaac(faac) místo.)
  6. Vyberte formátmp4 pro formát.

  7. Vyberte uložení, zvolte umístění a zadejte název souboru s příponou.mp4 jako rozšíření.

Poznámka: Někdy (~ 10% šance) se může stát neúspěšná. Potom použijtehandbrake(re-encode).

Poznámka2: existují dva odkazy, které vám pomohou:

Odkaz

Odkaz

    
odpověděl loksena 03.08.2012 18:43
2

Můžete použít svou aplikaci dmMediaConverter . Ponechte " kopírovat " pro oba kontrolované streamy (bez překladu) a do výstupního souboru vložte .mp4 . A je to. Velmi jednoduché. Odkaz

    
odpověděl mdalacu 21.06.2017 08:17
-2

Vzhledem k tomu, že MPEG Part 14 podporuje h.264 a AC3 nativně bez překódování, můžete jednoduše přejmenovat soubor tak, že má příponu.mp4 namísto přípony.mkv.

    
odpověděl Richard 26.12.2013 16:21
-2

Můžete vyzkoušet HANDBRAKE přidáním PPA zadáním tohoto kódu do terminálu:

sudo add-apt-repository ppa:stebbins/handbrake-releases
    
odpověděl 13east 25.06.2011 05:13