OPIS¶
Ten program wyodrębnia określone fragmenty z pliku
Matroska(TM) do innych użytecznych formatów. Pierwszy argument
to nazwa pliku źródłowego, który musi być
plikiem Matroska(TM).
Wszystkie pozostałe argumenty albo
przełączają na określony tryb ekstrakcji,
zmieniają opcje dla aktualnie aktywnego trybu, albo
określają, co ma zostać wyodrębnione do
którego pliku. W jednym wywołaniu programu mkvextract
można użyć wielu trybów, co pozwala na
wyodrębnienie wielu elementów w jednym przebiegu.
Większość opcji można użyć tylko w
określonych trybach, a kilka opcji ma zastosowanie do wszystkich
trybów.
Obecnie obsługiwane jest wyodrębnianie
ścieżek, tagów, załączników,
rozdziałów, arkuszy CUE, znaczników czasu i
podpowiedzi.
Opcje podstawowe¶
Następujące opcje są dostępne we
wszystkich trybach i zostały opisane tylko raz w tej sekcji.
-f, --parse-fully
Ustawia tryb analizy na „pełny”.
Domyślny tryb nie analizuje całego pliku, ale wykorzystuje
elementy meta-seek do lokalizowania wymaganych elementów pliku
źródłowego. W 99% przypadków to wystarcza. Jednak
w przypadku plików, które nie zawierają elementów
meta-seek lub są uszkodzone, użytkownik może być
zmuszony do użycia tego trybu. Pełne skanowanie pliku
może zająć kilka minut, podczas gdy szybkie skanowanie
zajmuje tylko kilka sekund.
--command-line-charset zestaw-znaków
Ustawia zestaw znaków, z którego
konwertowane są ciągi znaków podane w wierszu
poleceń. Domyślnie jest to zestaw znaków określony
przez bieżącą lokalizację systemu.
--output-charset zestaw-znaków
Ustawia zestaw znaków, do którego
konwertowane są ciągi znaków przeznaczone do
wyprowadzenia. Domyślnie jest to zestaw znaków określony
przez bieżącą lokalizację systemu.
-r, --redirect-output nazwa-pliku
Zapisuje wszystkie powiadomienia do pliku
nazwa-pliku zamiast do konsoli. Podczas gdy może być to
robione łatwo z przekierowaniem wyjścia, są przypadki,
gdy ta opcja właśnie jest potrzebna: gdy terminal ponownie
interpretuje plik wyjściowy przed zapisaniem do pliku. Uznawany
będzie zestaw znaków ustawiony z opcją
--output-charset.
--no-bom
Zazwyczaj pliki tekstowe utworzone i zakodowane w jednym
z wariantów UTF rozpoczynają się od znacznika
kolejności bajtów (BOM). Użycie tej opcji
wyłącza zapisywanie tego znacznika kolejności
bajtów.
--flush-on-close
Nakazuje programowi przelanie wszystkich danych z
pamięci podręcznej do pamięci masowej podczas zamykania
plików otwartych do zapisu. Można tego użyć, aby
zapobiec utracie danych podczas przerw w dostawie prądu lub
obejść pewne problemy z systemem operacyjnym lub sterownikami.
Wadą jest to, że multipleksowanie będzie trwało
dłużej, ponieważ program mkvmerge będzie
czekał, aż wszystkie dane zostaną zapisane w
pamięci masowej, zanim zakończy działanie.
Szczegółowe omówienie zalet i wad można
znaleźć w zgłoszeniach nr 2469 i 2480 w systemie
śledzenia błędów MKVToolNix.
--ui-language kod
Wymusza użycie tłumaczeń dla kodu
parameter języka (np. "de_DE” dla
tłumaczeń na język niemiecki). Wprowadzenie
"list” jako kodu parameter spowoduje, że program
wyświetli listę dostępnych tłumaczeń.
--abort-on-warnings
Nakazuje programowi przerwanie po wyemitowaniu pierwszego
ostrzeżenia. Kodem wyjścia programu będzie 1.
--debug temat
Włącz debugowanie dla konkretnej funkcji.
Ta opcja jest użyteczna tylko dla deweloperów.
--engage funkcja
Włącz funkcje eksperymentalne. Listę
dostępnych funkcji można uzyskać za pomocą komendy
mkvextract --engage list. Te funkcje nie są przeznaczone do
użytku w normalnych sytuacjach.
--gui-mode
Włącza tryb GUI. W tym trybie mogą
być generowane specjalnie sformatowane linie, które
informują interfejs GUI o aktualnym stanie rzeczy. Komunikaty te
mają formatt '#GUI#message'. Po komunikacie mogą
następować pary klucz/wartość, np
'#GUI#message#key1=value1#key2=value2...'. Ani komunikaty, ani klucze nie
są tłumaczone i zawsze są wyświetlane w
języku angielskim.
-v, --verbose
Bądź szczegółowy i pokazuj
wszystkie ważne elementy Matroska(TM) w miarę ich
czytania.
-h, --pomoc
Pokaż informację o sposobie użycia
opcji i wyjdź.
-V, --wersja
Pokaż informację o wersji i
wyjdź.
@options-file.json
Odczytuje dodatkowe argumenty wiersza poleceń z
pliku options-file. Pełny opis obsługiwanych
formatów takich plików znajduje się w sekcji
„Pliki opcji” na stronie man programu &mkvmerge;.
Tryb wyodrębniania ścieżek¶
Składnia: mkvextract
nazwa_pliku_źródłowego
utwory [opcje]
TID1:nazwa_pliku_docelowego1
[TID2:nazwa_pliku_docelowego2...]
W trybie wyodrębniania„tracks” dla
każdego utworu dostępne są następujące
opcje wiersza poleceń. Muszą one znajdować się
przed specyfikacją utworu (patrz poniżej), do którego
mają zostać zastosowane.
-c zestaw-znaków
Ustawia zestaw znaków, na który ma
zostać przekonwertowana następna ścieżka
napisów tekstowych. Opcja ta ma znaczenie tylko wtedy, gdy
identyfikator następnej ścieżki odnosi się do
ścieżki napisów tekstowych. Domyślnym ustawieniem
jest UTF-8.
--blockadd poziom
Zachowaj tylko dodatki blokowe do tego poziomu.
Domyślnie zachowywane są wszystkie poziomy. Ta opcja ma
wpływ tylko na niektóre rodzaje kodeków, takie jak
WAVPACK4.
--cuesheet
Powoduje, że funkcja `mkvextract`
wyodrębnia arkusz CUE na podstawie informacji o rozdziale oraz danych
tagów dla danego utworu do pliku, którego nazwa składa
się z nazwy wyjściowej utworu z dodanym rozszerzeniem
„.cue”.
--raw
Wyodrębnia surowe dane do pliku bez żadnych
danych otaczających. W przeciwieństwie do flag --fullraw,
ta flaga nie powoduje zapisania zawartości elementu CodecPrivate do
pliku. Tryb ten działa ze wszystkimi identyfikatorami CodecID, nawet
tymi, których &mkvextract; w innym przypadku nie obsługuje,
ale powstałe pliki mogą okazać się
bezużyteczne.
--fullraw
Wyodrębnia surowe dane do pliku bez żadnych
danych kontenerowych. Jeśli ścieżka zawiera element
nagłówkowy CodecPrivate, jego zawartość zostanie
zapisana w pliku jako pierwsza. Tryb ten działa ze wszystkimi
identyfikatorami CodecID, nawet tymi, których funkcja &mkvextract;
w innym przypadku nie obsługuje, jednak powstałe pliki
mogą okazać się bezużyteczne.
TID:nazwa
Powoduje wyodrębnienie ścieżki o
identyfikatorze
TID do pliku
o nazwie outname, jeśli taka
ścieżka występuje w pliku źródłowym.
Opcję tę można podać wielokrotnie. Identyfikatory
ścieżek są takie same jak te wyświetlane przez
opcję
--identify programu &mkvmerge;.
Każda nazwa pliku wyjściowego powinna być
użyta tylko raz. Wyjątkiem są ścieżki
RealAudio i RealVideo. Jeśli użyjesz tej samej nazwy dla
różnych ścieżek, zostaną one zapisane w
tym samym pliku. Przykład:
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
Tryb wyodrębniania załączników¶
Składnia: mkvextract
nazwa_pliku_źródłowego
attachments [opcje]
AID1:nazwa_pliku_wynikowego1
[AID2:nazwa_pliku_wynikowego2...]
AID:nazwa
Powoduje wyodrębnienie załącznika o
identyfikatorze AID do pliku o nazwie outname, o ile taki
załącznik występuje w pliku
źródłowym. Jeśli nazwa outname zostanie
pominięta, używana jest zamiast tego nazwa
załącznika zawarta w źródłowym pliku
Matroska. Opcję tę można podać wielokrotnie.
Identyfikatory załączników są takie same jak te
wyświetlane przez opcję --identify programu
&mkvmerge;.
Tryb wyodrębniania rozdziałów¶
Składnia: <polecenie>mkvextract
<parametr>nazwa_pliku_źródłowego</parametr>
rozdziały
<opcjonalnie><parametr>opcje</parametr></opcjonalnie>
<parametr>nazwa_pliku_wynikowego.xml</parametr></polecenie>
-s, --simple
Eksportuje informacje o rozdziałach w prostym
formacie używanym w narzędziach OGM (CHAPTER01=...,
CHAPTER01NAME=...). W tym trybie niektóre informacje muszą
zostać pominięte. Domyślnie rozdziały są
wyświetlane w formacie &xml;.
--simple-language język
Jeśli włączono tryb uproszczony,
polecenie
mkvextract(1) wyświetli tylko jeden wpis dla
każdego napotkanego atomu rozdziału, nawet jeśli atom ten
zawiera więcej niż jedną nazwę rozdziału.
Domyślnie polecenie
mkvextract(1) wykorzystuje pierwszą
znalezioną nazwę rozdziału dla każdego atomu,
niezależnie od języka.
Użycie tej opcji pozwala użytkownikowi
określić, które nazwy rozdziałów
mają zostać wyświetlone, jeśli elementy
zawierają więcej niż jedną nazwę
rozdziału. Parametr języka musi być kodem
zgodnym z normą ISO 639-1 lub ISO 639-2.
Rozdziały są zapisywane do wskazanego pliku
wyjściowego. Domyślnie stosowany jest format XML, rozpoznawany
przez program mkvmerge(1). Jeśli w pliku nie znaleziono
żadnych rozdziałów, plik wyjściowy nie zostanie
utworzony.
Tryb wyodrębniania tagów¶
Składnia: mkvextract
nazwa_pliku_źródłowego
tags [opcje]
nazwa_pliku_wynikowego.xml
-T, --no-track-tags
Eksportuje tylko tagi, które nie są
powiązane z konkretnym utworem.
Tagi są zapisywane w określonym pliku
wyjściowym w formacie XML, rozpoznawanym przez program
mkvmerge(1). Jeśli w pliku nie znaleziono żadnych
tagów, plik wyjściowy nie zostanie utworzony.
Tryb wyodrębniania arkuszy cue¶
Składnia: mkvextract
nazwa_pliku_źródłowego
[opcje_arkusza_cue]
nazwa_pliku_wyjściowego.cue
Lista utworów zostanie zapisana w określonym pliku
wyjściowym. Jeśli w pliku nie znaleziono żadnych
rozdziałów ani tagów, plik wyjściowy nie
zostanie utworzony.
Tryb wyodrębniania kodów czasowych¶
Składnia: mkvextract
nazwa_pliku_źródłowego
timestamps_v2 [opcje]
TID1:nazwa_pliku_docelowego1
[TID2:nazwa_pliku_docelowego2...]
TID:nazwa
Powoduje wyodrębnienie znaczników czasu dla
ścieżki o identyfikatorze
TID do pliku
o nazwie
outname, o ile taka ścieżka występuje w pliku
źródłowym. Opcję tę można
podać wielokrotnie. Identyfikatory ścieżek są
takie same jak te wyświetlane przez opcję
--identify
programu &mkvmerge;.
Przykład:
$ mkvextract timestamps_v2 wejściowy.mkv 1:kczas-ścieżki1.txt 2:kczas-ścieżki2.txt
Tryb wyodrębniania indeksów cue¶
Składnia: mkvextract
nazwa_pliku_źródłowego
cues [opcje]
TID1:nazwa_pliku_docelowego1
[TID2:nazwa_pliku_docelowego2...]
TID:docelowa-nazwapliku
Powoduje wyodrębnienie metadanych utworu o
identyfikatorze TID do pliku o nazwie outname, o ile taki
utwór występuje w pliku źródłowym.
Opcję tę można podać wielokrotnie. Identyfikatory
utworów są takie same jak te wyświetlane przez
opcję --identify programu &mkvmerge;, a nie numery zawarte w
elemencie CueTrack.
Wynik ma postać prostego pliku tekstowego: jeden wiersz na
każdy element CuePoint, zawierający pary
klucz=wartość. Jeśli w elemencie CuePoint brakuje
opcjonalnego elementu (np. CueDuration), jako wartość zostanie
wyświetlony myślnik.
Przykład:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
Możliwe klucze to:
timestamp
Sygnatura czasowa punktu kontrolnego z
dokładnością do nanosekund. Format to HH:MM:SS.nnnnnnnnn.
Ten element jest zawsze ustawiony.
duration
Czas trwania punktu kontrolnego z
dokładnością do nanosekund. Format to
HH:MM:SS.nnnnnnnnn.
pozycja_klastra
The absolute position in bytes inside the Matroska(TM)
file where the cluster containing the referenced element starts.
Uwaga
Inside the Matroska(TM) file the CueClusterPosition is relative to the segment's
data start offset. The value output by
mkvextract(1)'s cue extraction
mode, however, contains that offset already and is an absolute offset from the
beginning of the file.
pozycja_względna
The relative position in bytes inside the cluster where
the BlockGroup or SimpleBlock element the cue point refers to starts.
Uwaga
Inside the Matroska(TM) file the CueRelativePosition is relative to the
cluster's data start offset. The value output by
mkvextract(1)'s cue
extraction mode, however, is relative to the cluster's ID. The absolute
position inside the file can be calculated by adding cluster_position and
relative_position.
Przykład:
$ mkvextract cues wejściowy.mkv 1:cues-track1.txt 2:cues-track2.txt
The decision about the output format is based on the track type,
not on the extension used for the output file name. The following track
types are supported at the moment:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
Wszystkie pliki AAC będą zapisywane do
plików AAC z nagłówkami ADTS przed każdym
pakietem. Nagłówki ADTS nie będą zawierać
niewspieranego pola emfazy.
A_AC3, A_EAC3
Zostaną one wyodrębnione do plików w
formacie surowym AC-3.
A_ALAC
Ścieżki ALAC są zapisywane do
plików CAF.
A_DTS
Zostaną one wyodrębnione do plików w
formacie surowym DTS.
A_FLAC
Ścieżki FLAC są zapisywane do
surowych plików FLAC.
A_MPEG/L2
Ścieżki MPEG-1 Audio Layer II
będą wyodrębniane do surowych plików MP2.
A_MPEG/L3
Zostaną one wyodrębnione do plików
MP3 w formacie surowym.
A_OPUS
Ścieżki Opus(TM) są zapisywane do
plików OggOpus(TM).
A_PCM/INT/LIT, A_PCM/INT/BIG
Surowe dane PCM zostaną zapisane w pliku WAV. Dane
liczbowe w formacie big-endian zostaną w trakcie tego procesu
przekonwertowane na format little-endian.
A_REAL/*
Ścieżki RealAudio(TM) są zapisywane
do plików RealMedia(TM).
A_TRUEHD, A_MLP
Zostaną one wyodrębnione do plików w
formacie surowym TrueHD/MLP.
A_TTA1
Ścieżki TrueAudio(TM) są zapisywane
do plików TTA. Zauważ, że w wyniku ograniczonej precyzji
formatu Matroska(TM), wyodrębniane nagłówki plików
będą mieć inne dwa pola: data_length
(łączna liczba sampli w pliku) i CRC.
A_VORBIS
Dźwięk Vorbis będzie zapisywany do
pliku OggVorbis(TM).
A_WAVPACK4
Ścieżki WavPack(TM) są zapisywane do
plików WV.
S_HDMV/PGS
Napisy PGS będą zapisywane do plików
SUP.
S_HDMV/TEXTST
S_KATE
Ścieżki Kate(TM) będą
zapisywane do kontenera Ogg(TM).
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
Napisy tekstowe SSA i ASS będą zapisywane
do plików odpowiednio SSA/ASS.
S_TEXT/UTF8, S_TEXT/ASCII
Proste napisy tekstowe będą zapisywane do
plików SRT.
S_VOBSUB
Napisy VobSub(TM) będą zapisywane do
plików SUB razem z odpowiednimi plikami indeksu IDX.
S_TEXT/USF
Napisy tekstowe USF będą zapisywane do
plików USF.
S_TEXT/WEBVTT
Napisy tekstowe w formacie WebVTT zostaną zapisane
w plikach WebVTT.
V_MPEG1, V_MPEG2
Ścieżki wideo w formatach MPEG-1 i MPEG-2
zostaną zapisane jako strumienie elementarne MPEG.
V_MPEG4/ISO/AVC
Ścieżki obrazu H.264 / AVC są
zapisywane do ścieżek surowych (dane podstawowe) H.264,
które mogą być później przetwarzane np.
przez MP4Box(TM) z pakietu GPAC(TM).
V_MPEG4/ISO/HEVC
Ścieżki obrazu H.265 / HEVC są
zapisywane do ścieżek surowych (dane podstawowe) H.265,
które mogą być później przetwarzane np.
przez MP4Box(TM) z pakietu GPAC(TM).
V_MS/VFW/FOURCC
Ścieżki obrazu ze stałym FPS
mające taki CodecID są zapisywane do plików AVI.
V_REAL/*
Ścieżki RealVideo(TM) są zapisywane
do plików RealMedia(TM).
V_THEORA
Ścieżki Theora(TM) będą
zapisywane do kontenera Ogg(TM)
V_VP8, V_VP9
Ścieżki VP8 / VP9 są zapisywane do
plików IVF.
Tagi
Tagi są konwertowane do formatu XML. Jest to taki
sam format, jaki
mkvmerge(1) obsługuje w plikach
wejściowych.
Załączniki
Załączniki są zapisywane do pliku
wyjściowego takie jakie są. Żadna konwersja nie jest
wykonywana.
Rozdziały
Chapters are converted to a XML format. This format is
the same that
mkvmerge(1) supports for reading chapters. Alternatively
a stripped-down version can be output in the simple OGM style format.
Kody czasowe
Timestamps are first sorted and then output as a
timestamp v2 format compliant file ready to be fed to
mkvmerge(1). The
extraction to other formats (v1, v3 and v4) is not supported.