mkvextract - estrai le tracce da Matroska negli altri file
mkvextract {nome-file sorgente}
{modalità1} [opzioni] [extraction-spec1] [modalità2] [opzioni]
[extraction-spec2] [...]
Questo programma estrae parti specifiche da un file Matroska in
altri formati utilizzabili. Il primo argomento è il nome del file
sorgente che deve essere un file Matroska.
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.
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
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 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
dove il cluster contenente l'elemento di riferimento inizia.
Nota
All'interno del file Matroska 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 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
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"
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).
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 verranno scritte su file OggOpus.
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 sono scritte su file RealMedia.
A_TRUEHD, A_MLP
Questi saranno estratti su file grezzi TrueHD/MLP.
A_TTA1
Le tracce TrueAudiosono scritte su file TTA. Notare che a
causa della limitata precisione della marca temporale del formato Matroska,
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.
A_WAVPACK4
Le tracce WavPack saranno scritte in file WV.
S_HDMV/PGS
I sottotitoli PGS saranno scritti come file SUP.
S_HDMV/TEXTST
S_KATE
I flussi Kate saranno scritti in un contenitore
Ogg.
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 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
dal pacchetto GPAC.
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
dal pacchetto GPAC.
V_MS/VFW/FOURCC
Le tracce video con FPS fissi con questo CodecID saranno
scritte su file AVI.
V_REAL/*
Le tracce RealVideo sono scritte su file RealMedia.
V_THEORA
I flussi Theora sono scritti in un contenitore Ogg
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.
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.
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.
La versioen aggironata è sempre disponibile nel sito web
MKVToolNix[1].
Moritz Bunkus <moritz@bunkus.org>
Sviluppatore
- 1.
- sito web MKVToolNix
https://mkvtoolnix.download/