Questo programma estrae parti specifiche da un file
Matroska(TM)
in altri formati utilizzabili. Il primo argomento è il nome del file sorgente che deve essere un file
Matroska(TM).
Tutti gli altri argomenti abilitano una certa modalità di estrazione, cambiano le opzioni per la modalità corrente attiva o specificano cosa estrarre in che file. Modalità multiple possono essere richiamate abilitando la possibilità di estrarre cose diverse in un solo comando. La maggior parte delle opzioni possono essere usate solo in certe modalità con poche opzioni applicabili a tutte le modalità.
Supportata l'estrazione di
tracce,
tag,
allegati,
capitoli,
CUE sheets,
marcature orarie
e
cues.
Opzioni comuni
Le opzioni seguenti sono disponibili in tutte le modalità e sono descritte in questa sezione.
-f, --parse-fully
-
Imposta la modalità di analisi in 'totale'. La modalità di base non analizza l'intero file ma usa gli elementi di meta-ricerca per localizzare gli elementi richiesti del file sorgente. Nel 99% dei casi questo basta. Ma per file che non contengono elementi di meta-ricerca o che sono danneggiati è possibile utilizzare questa modalità. Una scansione totale può impiegare una manciata di minuti mentre una scansione rapida ci mette qualche secondo.
--command-line-charset character-set
-
Imposta il set caratteri per convertire le stringhe date dalla riga di comando. Di base è impostato dalla lingua di sistema.
--output-charset character-set
-
Imposta il set caratteri per le stringhe convertite date in output. Di base è impostato dalla lingua di sistema.
-r, --redirect-output file-name
-
Scrive tutti i messaggi nel file
file-name
invece che sul terminale. Mentre questo può essere fatto con la redirezione dell'output ci sono casi che questa opzione può essere necessaria: quando il terminale reinterpreta l'output prima di scriverlo in un file. Il set caratteri impostato con--output-charset
è onorato.
--flush-on-close
-
Indica al programma di scaricare tutti i dati memorizzati nella memoria nello storage quando si chiudono i file aperti in scrittura. Questo può essere usato per prevenire la perdita di dati in caso di interruzioni di corrente o per eludere determinati problemi nel sistema operativo o nei driver. Il rovescio della medaglia è che il multiplexing richiederà più tempo poiché mkvmerge attenderà fino a quando tutti i dati non saranno stati scritti nella memoria prima di uscire. Vedi riferimenti #2469 e #2480 nel tracker bug MKVToolNix per discussioni approfondite su pro e contro.
--ui-language code
-
Forza le traduzioni per la lingua
code
da usare (per esempio: 'it_IT' per le traduzioni in Italiano). Immettendo 'list' come
code
mostrerà la lista delle traduzioni disponibili.
--abort-on-warnings
-
Indica al programma di interrompere dopo il primo avviso. Il codice di uscita del programma sarà 1.
--debug argomento
-
Abilita il debug per una funzionalità. Questa opzione è utile per gli sviluppatori.
--engage funzionalità
-
Abilita le funzionalità sperimentali. La lista delle funzionalità disponibili può essere mostrata col comando
mkvextract --engage list. Queste funzionalità non sono previste per l'utilizzo normale del programma.
--gui-mode
-
Mostra la GUI (interfaccia grafica). In questa modalità a terminale ci saranno delle righe specifiche su cosa sta succedendo. Questi messaggi seguiranno il formato '#GUI#messaggio'. Il messaggio può essere seguito da delle coppie chiave/valore come '#GUI#messaggio#chiave1=valore1#chiave2=valore2...'. Né i messaggi e né le chiavi saranno mai tradotte e l'output sarà sempre in Inglese.
-v, --verbose
-
Sii prolisso e mostra tutti gli elementi
Matroska(TM)
importanti quando vengono letti.
-h, --help
-
Mostra l'aiuto ed esci.
-V, --version
-
Mostra la versione ed esci.
@options-file.json
-
Legge gli argomenti a riga di comando dal file
options-file. Per una spiegazione completa sul formato supportato vedere la sezione "File di Opzioni" nel manuale di
mkvmerge(1).
Modalità di estrazione traccia
Sintassi:
mkvextract nomefile-sorgente tracce [opzioni] TID1:nomefile-destinazione1 [TID2:nomefile-destinazione2 ...]
Le seguenti opzioni sono disponibili per ogni traccia nella modalità di estrazione 'tracks. Devono apparire davanti alla traccia specifica (vedi giù) a cui deve essere applicata.
-c character-set
-
Imposta il set di caratteri da convertire nella traccia dei sottotitoli. È valido se l'ID della traccia successiva è un sottotitolo. Di base è UTF-8.
--blockadd livello
-
Tieni solo il i BlockAdditions su questo livello. Di base è su tutti i livelli. Questa opzione riguarda solo certi tipi di codec tipo il WAVPACK4.
--cuesheet
-
Causa
mkvextract(1)
di estrarre un
CUE
sheet dalle informazioni del capitolo e dai dati tag per la seguente traccia in un file il cui nome è il nome della traccia con l'estensione '.cue'.
--raw
-
Estrae i dati raw in un file senza dati contenitore. Differentemente dall'opzione
--fullraw, questa opzione non causa che i contenuti dell'elementoCodecPrivate
vengano scritti nel file. Questa modalità funziona con tutti i
CodecID, pure quelli che
mkvextract(1)
non supporta, ma il risultato potrebbe non essere utilizzabile.
--fullraw
-
Estrae i dati raw in un file senza dati contenitore. I contenuti dell'elemento
CodecPrivate
saranno scritti nel file per primi se la traccia contiene quell'elemento header. Questa modalità funziona con tutti i
CodecID, pure quelli che
mkvextract(1)
non supporta, ma il risultato potrebbe non essere utilizzabile.
TID:outname
-
Causa l'estrazione della traccia con ID
TID
nel file
outname
se quella traccia esiste file file sorgente. Questa opzione può essere usata più volte. Gli ID della traccia sono gli stessi dell'output dato dal risultato
mkvmerge(1)
--identify.
Ogni nome in output deve essere univoco. Le eccezioni sono le tracce RealAudio e RealVideo. Se viene utilizzato lo stesso nome per tracce differenti, quelle tracce verranno salvate nello stesso file. Per esempio:
-
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
Modalità di estrazione allegati
Sintassi:
mkvextract file-sorgente allegati [opzioni] AID1:filediuscita1 [AID2:filediuscita2 ...]
AID:filediuscita
-
Provoca l'estrazione dell'allegato con l'ID
AID
nel file
nomefiledestinazione
se tale allegato esiste nel file sorgente. Se
nomedestinazione
viene lasciato vuoto, allora il nome dell'allegato all'interno della sorgente
Matroska(TM)
al suo posto verrà usato il file. Questa opzione può essere data più volte. Gli ID degli allegati sono gli stessi di quelli generati dall'opzione
--identify
di
mkvmerge(1).
Modalità di estrazione capitoli
Sintassi:
mkvextract file-sorgente capitoli [opzioni] file-di-uscita.xml
-s, --simple
-
Esporta le informazioni del capitolo nel formato semplificato dagli strumenti
OGM
(CAPITOLO01=..., NOMECAPITOLO01=...). In questa modalità alcune informazioni devono venire scartate. L'output predefinito dei capitoli è in formato
XML.
--simple-language lingua
-
Se il formato semplificato è abilitato allora
mkvextract(1)
creerà una voce singola per ogni capitolo trovato, anche se un capitolo atom contiene più di un nome per capitolo. Di base
mkvextract(1)
userà il primo capitolo trovato per ogni atom a prescindere dalla lingua.
Usando questa opzione si dà la possibilità all'utente di determinare quali nomi dei capitoli vengono usati se l'atom contiene più di un nome per capitolo. Il parametro
lingua
deve essere ISO 639-1 oppure ISO 639-2.
I capitoli vengono salvati in un file specifico. Il formato predefinito è
XML
formato usato da
mkvmerge(1). Se nessun capitolo viene trovato, questo file non verrà creato.
Modalità di estrazione tag
Sintassi:
mkvextract nomefile-sorgente tags [opzioni] filename-di-output.xml
I tag vengono salvati in un file specifico. Il formato predefinito è
XML
formato usato da
mkvmerge(1). Se nessun tag viene trovato, questo file non verrà creato.
Modalità di estrazione cue sheet
Sintassi:
mkvextract file-sorgente file-cue[opzioni] file-di-uscita.cue
Il file cue verrà salvato in un file specifico. Se nessun capitolo o tag vengono trovati nel file, questo file non verrà creato.
Modalità di estrazione marche temporali
Sintassi:
mkvextract file-sorgente marcatemporale_v2 [opzioni] TID1:file-destinazione1 [TID2:file-destinazione2 ...]
TID:outname
-
Causa l'estrazione delle marche temporali per la traccia con ID
TID
nel file
outname
se la traccia esiste nel file sorgente. Questa opzione può essere impostata più volte. Gli ID delle tracce sono gli stessi di quelli forniti dal risultato dell'opzione
--identify
di
mkvmerge(1).
Esempio:
-
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
Modalità di estrazione cue
Sintassi:
mkvextract nomefile-sorgente cue [opzioni] TID1:file-destinazione1 [TID2:file-destinazione2 ...]
TID:nome-file-destinazione
-
Causa l'estrazione dei metadati cue per la traccia con ID
TID
nel file
outname
se la traccia esiste nel file sorgente. Questa opzione può essere impostata più volte. Gli ID delle tracce sono gli stessi di quelli forniti dal risultato dell'opzione
--identify
di
mkvmerge(1)
e non i numeri contenuti nell'elemento
CueTrack.
Il formato di output è in formato testo semplice: una linea per elemento
CuePoint
con coppie
chiave=valore. Se un elemento non è presente in un
CuePoint
(per esempio
CueDuration) allora un trattino sarà il valore di output.
Esempio:
-
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Le chiavi possibili sono:
data/ora
-
Punto cue della marca temporale con precisione al nanosecondo. Il formato è
HH:MM:SS.nnnnnnnnn. Questo elemento è sempre impostato.
durata
-
Durata del punto cue con precisione al nanosecondo. Il formato è
HH:MM:SS.nnnnnnnnn.
cluster_position
-
Posizione assoluta in byte all'interno del file
Matroska(TM)
dove il cluster contenente l'elemento di riferimento inizia.
-
Nota
All'interno del file
Matroska(TM)
il
CueClusterPosition
è relativo all'offset di inizio del segmento dati. Il valore di output della modalità di estrazione di
mkvextract(1), in ogni caso, contiene già quell'offset ed è un offset assoluto dall'inizio del file.
relative_position
-
La posizione relativa in byte all'interno del cluster in cui inizia l'elemento
BlockGroup
o
SimpleBlock.
-
Nota
All'interno del file
Matroska(TM)
il
CueRelativePosition
è relativo all'offset d'inizio dei dati del cluster. Il valore di output della modalità di estrazione di
mkvextract(1), in ogni caso, è relativo all'ID del cluster. La posizione assoluta all'interno del file può essere calcolata aggiungendo
cluster_position
e
relative_position.
Esempio:
-
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
ESEMPI
Estrarre allo stesso tempo entrambi i capitoli e tag nei loro rispettivi formati
XML:
-
$ mkvextract film.mkv chapters capitoli-film.xml tags tag-film.xml
Estrarre allo stesso tempo un po' di tracce e le loro rispettive marcature temporali:
-
$ mkvextract "Altro film.mkv" tracks 0:video.h265 "1:audio principale.aac" "2:commento del regista.aac" timestamps_v2 "0:marcature temporali video.txt" "1:marcature temporali audio principale.txt" "2:marcature temporali commenti del regista.txt"
Estrarre i capitoli nel formato Ogg/OGM e ricodificare una traccia sottotitoli in un'altra codifica caratteri:
-
$ mkvextract "Mio Film.mkv" chapters --simple "Miei Capitoli.txt" tracks -c MS-ANSI "2:Miei Sottotitoli.srt"
FILE DI TESTO E CONVERSIONI DELLA CODIFICA CARATTERI
Per una comprensione a fondo di come tutti gli strumenti presenti nella suite di MKVToolNix gestiscono la conversione della codifica caratteri, codifica input/output, codifica a riga di comando e console, vedere la sezione con lo stesso nome nel manuale di
mkvmerge(1).
FORMATI DI USCITA DEI FILE
La decisione a proposito del formato di output è basata sul tipo di traccia, non nell'estensione usata dal nome del file. Attualmente le seguenti tracce sono supportate:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
-
Tutti i fileAAC
saranno scritti in un file
AAC
con intestazioni
ADTS
prima di ogni pacchetto. L'intestazione
ADTS
non conterrà il deprecato campo di enfasi.
A_AC3, A_EAC3
-
Questi verranno estratti in file
AC-3
grezzi.
A_ALAC
-
Le tracce
ALAC
sono scritte su file
CAF.
A_DTS
-
Questi verrrano estratti su file grezzi
DTS.
A_FLAC
-
Le tracce
FLAC
verranno scritte su file grezzi
FLAC.
A_MPEG/L2
-
I flussi MPEG-1 Audio Layer II verranno estratti su file grezzi
MP2.
A_MPEG/L3
-
Questi verrrano estratti su file grezzi
MP3.
A_OPUS
-
Le tracce
Opus(TM)
verranno scritte su file
OggOpus(TM).
A_PCM/INT/LIT, A_PCM/INT/BIG
-
I dati grezzi
PCM
verranno scritti su file
WAV. I dati Big-endian verranno convertiti in dati little-endian.
A_REAL/*
-
Le tracce
RealAudio(TM)
sono scritte su file
RealMedia(TM).
A_TRUEHD, A_MLP
-
Questi saranno estratti su file grezzi
TrueHD/MLP.
A_TTA1
-
Le tracce
TrueAudio(TM)sono scritte su file
TTA. Notare che a causa della limitata precisione della marca temporale del formato
Matroska(TM), l'intestazione del file estratto sarà differente in due campi:
data_lenght
(numero totale dei sample nel file) e il
CRC.
A_VORBIS
-
L'audio Vorbis verrà scritto in un file
OggVorbis(TM).
A_WAVPACK4
-
Le tracce
WavPack(TM)
saranno scritte in file
WV.
S_HDMV/PGS
-
I sottotitoli
PGS
saranno scritti come file
SUP.
S_HDMV/TEXTST
-
I sottotitoli
TextST
saranno scritti in uno speciale formato concepito per
mkvmerge(1)
e
mkvextract(1).
S_KATE
-
I flussi
Kate(TM)
saranno scritti in un contenitore
Ogg(TM).
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
-
I sottotitoli
SSA
e
ASS
saranno scritti rispettivamente come file
SSA/ASS.
S_TEXT/UTF8, S_TEXT/ASCII
-
I sottotitoli in formato test saranno scritti come file
SRT.
S_VOBSUB
-
I sottotitoli
VobSub(TM)
saranno scritti come file
SUB
insieme ai rispettivi file di indice come file
IDX.
S_TEXT/USF
-
I sottotitoli
USF
saranno scritti come file
USF.
S_TEXT/WEBVTT
-
I sottotitoli
WebVTT
saranno scritti su file
WebVTT.
V_MPEG1, V_MPEG2
-
Le tracce video
MPEG-1
e
MPEG-2
saranno scritti come flussi elementari
MPEG.
V_MPEG4/ISO/AVC
-
Le tracce video
H.264/AVC
saranno scritte su flussi elementari
H.264
che potranno poi essere processati con, per esempio,
MP4Box(TM)
dal pacchetto
GPAC(TM).
V_MPEG4/ISO/HEVC
-
Le tracce video
H.265/HEVC
saranno scritte su flussi elementari
H.265
che potranno poi essere processati con, per esempio,
MP4Box(TM)
dal pacchetto
GPAC(TM).
V_MS/VFW/FOURCC
-
Le tracce video con
FPS
fissi con questo
CodecID
saranno scritte su file
AVI.
V_REAL/*
-
Le tracce
RealVideo(TM)
sono scritte su file
RealMedia(TM).
V_THEORA
-
I flussi
Theora(TM)
sono scritti in un contenitore
Ogg(TM)
V_VP8, V_VP9
-
Le tracce
VP8/VP9
saranno scritte su file
IVF.
Tag
-
I tag saranno convertiti in formato
XML. Questo formato è lo stesso che supporta
mkvmerge(1)
per la lettura dei tag.
Allegati
-
Gli allegati saranno scritti nel formato di output in cui sono. Nessuna conversione verrà fatta.
Capitoli
-
I capitoli sono convertiti in formato
XML. Questo formato è lo stesso che supporta
mkvmerge(1)
per la lettura dei capitoli. Alternativamente una versione semplificata può essere in formato
OGM.
Marche temporali
-
Le marche temporali sono prima ordinate e poi convertite in formato conforme alla marca temporale v2, pronte per essere processate con
mkvmerge(1). L'estrazione in altri formati (v1, v3 e v4) non è supportata.
CODICI DUSCITA
mkvextract(1)
esce con uno di tre codici di uscita:
-
•
0
-- Questo valore di uscita riporta che l'estrazione è stata completata correttamente.
-
•
1
-- In questo caso
mkvextract(1)
ha almeno un avviso, ma l'estrazione è continuata. L'avviso è prefissato con la dicitura 'Avviso:'. A seconda del problema il risultato potrebbe essere ok oppure no. L'utente è incoraggiato a controllare sia gli avvisi che i file.
-
•
2
-- Questo valore di uscita è utilizzato dopo che si è verificato un errore.
mkvextract(1)
si interrompe dopo aver segnalato il messaggio di errore. I messaggi d'errore spaziano da un argomento della riga di comando errato a errori di lettura/scrittura a file corrotti.
VARIABILI DAMBIENTE
mkvextract(1)
usa delle variabili predefinite che determinano la lingua di sistema (per esempio:
LANG
e la famiglia
LC_*). Variabili addizionali sono:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG e la sua forma contratta MTX_DEBUG
-
Il contenuto è elaborato come se fosse stata utilizzata l'opzione
--debug.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE e la sua forma contratta MTX_ENGAGE
-
Il contenuto è elaborato come se fosse stata utilizzata l'opzione
--engage.
VEDI ANCHE
mkvmerge(1),
mkvinfo(1),
mkvpropedit(1),
mkvtoolnix-gui(1)
WWW
La versioen aggironata è sempre disponibile nel
m[blue]sito web MKVToolNixm[][1].
AUTORE
Moritz Bunkus <moritz@bunkus.org>
-
Sviluppatore
NOTE
- 1.
-
sito web MKVToolNix
-
https://mkvtoolnix.download/