pistacho
1st January 2014, 22:26
I'ne noticed that the language codes used by tsMuxeR are not the commonly used ISO 639 codes. For example, the code for French is "fr" in ISO 639-1 and "fre" in ISO 639-2, but in tsMuxeR, it's "fra" (like in Français). I wonder if that codes are following a standard, and if it's the case, I would like to know what standard it is. If it's not an established standard, can you give me the complete list of codes? I need to convert the codes used by tsMuxeR to ISO 639.
Thanks.
My approach by brute:
#define LANGUAGES "eng (English)|ara (Arabic)|bel (Belarusan)|ben (Bengali)|bul (Bulgarian)|cat (Català)|chi/zho (Chinese)|cze/ces (Czech)|dan (Dansk)|ger/deu (Deutsch)|est (Eesti Keel)|spa (Español)|baq/eus (Euskara)|fil (Filipino)|fre/fra (Français)|glg (Galego)|gle (Gaeilge)|heb (Hebrew)|hin (Hindi)|hrv (Hrvatski)|ind (Indonesian)|ita (Italiano)|jpn (Japanese)|kaz (Kazakh)|kor (Korean)|lav (Latvian)|lit (Lithuanian)|hun (Magyar)|may/zlm (Malay)|mlt (Malti)|gre/ell (Modern Greek)|dut/nld (Nederlands)|nep (Nepali)|nor (Norsk)|per/fas (Persian)|pol (Polski)|por (Português)|roh (Rumantsch)|rum/ron (Romanian)|rus (Russian)|srp (Serbian)|slk/slo (Slovak)|slv (Slovenski)|fin (Suomi)|swe (Svensk)|tha (Thai)|tur (Türkçe)|ukr (Ukrainian)|urd (Urdu)|vie (Vietnamese)"
void ISO639_2toIdioma (char *alpha3, char *idioma)
{
switch (alpha3[0]) {
case 'a':
if (!strcmp (alpha3, "abk")) strcpy (idioma, "Abkhazian");
if (!strcmp (alpha3, "aar")) strcpy (idioma, "Afar");
if (!strcmp (alpha3, "afr")) strcpy (idioma, "Afrikaans");
if (!strcmp (alpha3, "aka")) strcpy (idioma, "Akan");
if (!strcmp (alpha3, "alb")) strcpy (idioma, "Albanian");
if (!strcmp (alpha3, "amh")) strcpy (idioma, "Amharic");
if (!strcmp (alpha3, "ara")) strcpy (idioma, "Arabic");
if (!strcmp (alpha3, "arc")) strcpy (idioma, "Aramaic");
if (!strcmp (alpha3, "arg")) strcpy (idioma, "Aragonese");
if (!strcmp (alpha3, "arm")) strcpy (idioma, "Armenian");
if (!strcmp (alpha3, "asm")) strcpy (idioma, "Assamese");
if (!strcmp (alpha3, "ava")) strcpy (idioma, "Avaric");
if (!strcmp (alpha3, "ave")) strcpy (idioma, "Avestan");
if (!strcmp (alpha3, "aym")) strcpy (idioma, "Aymara");
if (!strcmp (alpha3, "aze")) strcpy (idioma, "Azerbaijani");
break;
case 'b':
if (!strcmp (alpha3, "bam")) strcpy (idioma, "Bambra");
if (!strcmp (alpha3, "bak")) strcpy (idioma, "Bashkir");
if (!strcmp (alpha3, "baq")) strcpy (idioma, "Basque");
if (!strcmp (alpha3, "bel")) strcpy (idioma, "Belarusian");
if (!strcmp (alpha3, "ben")) strcpy (idioma, "Bengali");
if (!strcmp (alpha3, "bih")) strcpy (idioma, "Bihari");
if (!strcmp (alpha3, "bis")) strcpy (idioma, "Bislama");
if (!strcmp (alpha3, "bos")) strcpy (idioma, "Bosnian");
if (!strcmp (alpha3, "bre")) strcpy (idioma, "Breton");
if (!strcmp (alpha3, "bul")) strcpy (idioma, "Bulgarian");
if (!strcmp (alpha3, "bur")) strcpy (idioma, "Burmese");
if (!strcmp (alpha3, "bod")) strcpy (idioma, "Tibetan");
break;
case 'c':
if (!strcmp (alpha3, "cat")) strcpy (idioma, "Catalan");
if (!strcmp (alpha3, "ces")) strcpy (idioma, "Czech");
if (!strcmp (alpha3, "cha")) strcpy (idioma, "Chamorro");
if (!strcmp (alpha3, "che")) strcpy (idioma, "Chechen");
if (!strcmp (alpha3, "chi")) strcpy (idioma, "Chinese");
if (!strcmp (alpha3, "chu")) strcpy (idioma, "Church Slavonic");
if (!strcmp (alpha3, "chv")) strcpy (idioma, "Chuvash");
if (!strcmp (alpha3, "cor")) strcpy (idioma, "Cornish");
if (!strcmp (alpha3, "cos")) strcpy (idioma, "Corsican");
if (!strcmp (alpha3, "cre")) strcpy (idioma, "Cree");
if (!strcmp (alpha3, "cze")) strcpy (idioma, "Czech");
if (!strcmp (alpha3, "cym")) strcpy (idioma, "Welsh");
break;
case 'd':
if (!strcmp (alpha3, "deu")) strcpy (idioma, "German");
if (!strcmp (alpha3, "dan")) strcpy (idioma, "Danish");
if (!strcmp (alpha3, "div")) strcpy (idioma, "Divehi");
if (!strcmp (alpha3, "dut")) strcpy (idioma, "Dutch");
if (!strcmp (alpha3, "dzo")) strcpy (idioma, "Dzongkha");
break;
case 'e':
if (!strcmp (alpha3, "eng")) strcpy (idioma, "English");
if (!strcmp (alpha3, "eus")) strcpy (idioma, "Basque");
if (!strcmp (alpha3, "est")) strcpy (idioma, "Estonian");
if (!strcmp (alpha3, "ell")) strcpy (idioma, "Modern Greek");
if (!strcmp (alpha3, "ewe")) strcpy (idioma, "Ewe");
if (!strcmp (alpha3, "epo")) strcpy (idioma, "Esperanto");
break;
case 'f':
if (!strcmp (alpha3, "fra")) strcpy (idioma, "French");
if (!strcmp (alpha3, "fin")) strcpy (idioma, "Finnish");
if (!strcmp (alpha3, "fao")) strcpy (idioma, "Faroese");
if (!strcmp (alpha3, "fij")) strcpy (idioma, "Fijian");
if (!strcmp (alpha3, "fre")) strcpy (idioma, "French");
if (!strcmp (alpha3, "fry")) strcpy (idioma, "Western Frisian");
if (!strcmp (alpha3, "ful")) strcpy (idioma, "Fulah");
if (!strcmp (alpha3, "fas")) strcpy (idioma, "Persian");
break;
case 'g':
if (!strcmp (alpha3, "grc")) strcpy (idioma, "Ancient Greek");
if (!strcmp (alpha3, "gre")) strcpy (idioma, "Modern Greek");
if (!strcmp (alpha3, "gle")) strcpy (idioma, "Irish");
if (!strcmp (alpha3, "glg")) strcpy (idioma, "Galician");
if (!strcmp (alpha3, "geo")) strcpy (idioma, "Georgian");
if (!strcmp (alpha3, "ger")) strcpy (idioma, "German");
if (!strcmp (alpha3, "grn")) strcpy (idioma, "Guarani");
if (!strcmp (alpha3, "guj")) strcpy (idioma, "Gujarati");
if (!strcmp (alpha3, "glv")) strcpy (idioma, "Manx");
if (!strcmp (alpha3, "gla")) strcpy (idioma, "Scottish Gaelic");
break;
case 'h':
if (!strcmp (alpha3, "heb")) strcpy (idioma, "Hebrew");
if (!strcmp (alpha3, "hin")) strcpy (idioma, "Hindi");
if (!strcmp (alpha3, "hun")) strcpy (idioma, "Hungarian");
if (!strcmp (alpha3, "hrv")) strcpy (idioma, "Croatian");
if (!strcmp (alpha3, "hye")) strcpy (idioma, "Armenian");
if (!strcmp (alpha3, "hat")) strcpy (idioma, "Haitian Creole");
if (!strcmp (alpha3, "hau")) strcpy (idioma, "Hausa");
if (!strcmp (alpha3, "her")) strcpy (idioma, "Herero");
if (!strcmp (alpha3, "hmo")) strcpy (idioma, "Hiri Motu");
break;
case 'i':
if (!strcmp (alpha3, "ice")) strcpy (idioma, "Icelandic");
if (!strcmp (alpha3, "ido")) strcpy (idioma, "Ido");
if (!strcmp (alpha3, "ibo")) strcpy (idioma, "Igbo");
if (!strcmp (alpha3, "ind")) strcpy (idioma, "Indonesian");
if (!strcmp (alpha3, "ina")) strcpy (idioma, "Interlingua");
if (!strcmp (alpha3, "ile")) strcpy (idioma, "Interlingue");
if (!strcmp (alpha3, "iku")) strcpy (idioma, "Inuktitut");
if (!strcmp (alpha3, "ipk")) strcpy (idioma, "Inupiaq");
if (!strcmp (alpha3, "ita")) strcpy (idioma, "Italian");
if (!strcmp (alpha3, "isl")) strcpy (idioma, "Icelandic");
if (!strcmp (alpha3, "iii")) strcpy (idioma, "Sichuan Yi");
break;
case 'j':
if (!strcmp (alpha3, "jpn")) strcpy (idioma, "Japanse");
if (!strcmp (alpha3, "jav")) strcpy (idioma, "Javanese");
break;
case 'k':
if (!strcmp (alpha3, "kan")) strcpy (idioma, "Kannada");
if (!strcmp (alpha3, "kau")) strcpy (idioma, "Kanuri");
if (!strcmp (alpha3, "kas")) strcpy (idioma, "Kashmiri");
if (!strcmp (alpha3, "khm")) strcpy (idioma, "Central Khmer");
if (!strcmp (alpha3, "kal")) strcpy (idioma, "Greenlandic");
if (!strcmp (alpha3, "kat")) strcpy (idioma, "Georgian");
if (!strcmp (alpha3, "kor")) strcpy (idioma, "Korean");
if (!strcmp (alpha3, "kaz")) strcpy (idioma, "Kazakh");
if (!strcmp (alpha3, "kik")) strcpy (idioma, "Kikuyu");
if (!strcmp (alpha3, "kin")) strcpy (idioma, "Kinyarwanda");
if (!strcmp (alpha3, "kir")) strcpy (idioma, "Kirghiz");
if (!strcmp (alpha3, "kom")) strcpy (idioma, "Komi");
if (!strcmp (alpha3, "kon")) strcpy (idioma, "Kongo");
if (!strcmp (alpha3, "kua")) strcpy (idioma, "Kuanyama");
if (!strcmp (alpha3, "kur")) strcpy (idioma, "Kurdish");
break;
case 'l':
if (!strcmp (alpha3, "lao")) strcpy (idioma, "Lao");
if (!strcmp (alpha3, "lav")) strcpy (idioma, "Latvian");
if (!strcmp (alpha3, "lat")) strcpy (idioma, "Latin");
if (!strcmp (alpha3, "lim")) strcpy (idioma, "Limburgish");
if (!strcmp (alpha3, "lin")) strcpy (idioma, "Lingala");
if (!strcmp (alpha3, "lit")) strcpy (idioma, "Lithuanian");
if (!strcmp (alpha3, "lug")) strcpy (idioma, "Ganda");
if (!strcmp (alpha3, "lub")) strcpy (idioma, "Luba-Katanga");
if (!strcmp (alpha3, "ltz")) strcpy (idioma, "Luxembourgish");
break;
case 'm':
if (!strcmp (alpha3, "mac")) strcpy (idioma, "Macedonian");
if (!strcmp (alpha3, "mkd")) strcpy (idioma, "Macedonian");
if (!strcmp (alpha3, "mlg")) strcpy (idioma, "Malagasy");
if (!strcmp (alpha3, "may")) strcpy (idioma, "Malay");
if (!strcmp (alpha3, "msa")) strcpy (idioma, "Malay");
if (!strcmp (alpha3, "mal")) strcpy (idioma, "Malayalam");
if (!strcmp (alpha3, "mlt")) strcpy (idioma, "Maltese");
if (!strcmp (alpha3, "mao")) strcpy (idioma, "Maori");
if (!strcmp (alpha3, "mri")) strcpy (idioma, "Maori");
if (!strcmp (alpha3, "mar")) strcpy (idioma, "Marathi");
if (!strcmp (alpha3, "mah")) strcpy (idioma, "Marshallese");
if (!strcmp (alpha3, "mon")) strcpy (idioma, "Mongolian");
if (!strcmp (alpha3, "mya")) strcpy (idioma, "Burmese");
if (!strcmp (alpha3, "myn")) strcpy (idioma, "Mayan languages");
if (!strcmp (alpha3, "mdr")) strcpy (idioma, "Mandar");
break;
case 'n':
if (!strcmp (alpha3, "nld")) strcpy (idioma, "Dutch");
if (!strcmp (alpha3, "nor")) strcpy (idioma, "Norwegian");
if (!strcmp (alpha3, "nya")) strcpy (idioma, "Chichewa");
if (!strcmp (alpha3, "nau")) strcpy (idioma, "Nauruan");
if (!strcmp (alpha3, "nav")) strcpy (idioma, "Navajo");
if (!strcmp (alpha3, "nde")) strcpy (idioma, "Northern Ndebele");
if (!strcmp (alpha3, "nbl")) strcpy (idioma, "Southern Ndebele");
if (!strcmp (alpha3, "ndo")) strcpy (idioma, "Ndonga");
if (!strcmp (alpha3, "nep")) strcpy (idioma, "Nepali");
if (!strcmp (alpha3, "nob")) strcpy (idioma, "Norwegian Bokmċl");
if (!strcmp (alpha3, "nno")) strcpy (idioma, "Norwegian Nynorsk");
break;
case 'o':
if (!strcmp (alpha3, "oci")) strcpy (idioma, "Occitan");
if (!strcmp (alpha3, "oji")) strcpy (idioma, "Ojibwa");
if (!strcmp (alpha3, "ori")) strcpy (idioma, "Oriya");
if (!strcmp (alpha3, "orm")) strcpy (idioma, "Oromo");
if (!strcmp (alpha3, "oss")) strcpy (idioma, "Ossetian");
break;
case 'p':
if (!strcmp (alpha3, "por")) strcpy (idioma, "Portuguese");
if (!strcmp (alpha3, "pol")) strcpy (idioma, "Polish");
if (!strcmp (alpha3, "pli")) strcpy (idioma, "Pali");
if (!strcmp (alpha3, "per")) strcpy (idioma, "Persian");
if (!strcmp (alpha3, "pan")) strcpy (idioma, "Punjabi");
if (!strcmp (alpha3, "pus")) strcpy (idioma, "Pashto language");
break;
case 'q':
if (!strcmp (alpha3, "que")) strcpy (idioma, "Quechua");
break;
case 'r':
if (!strcmp (alpha3, "rus")) strcpy (idioma, "Russian");
if (!strcmp (alpha3, "ron")) strcpy (idioma, "Romanian");
if (!strcmp (alpha3, "rum")) strcpy (idioma, "Romanian");
if (!strcmp (alpha3, "roh")) strcpy (idioma, "Romansh");
if (!strcmp (alpha3, "rom")) strcpy (idioma, "Romany");
if (!strcmp (alpha3, "run")) strcpy (idioma, "Rundi");
break;
case 's':
if (!strcmp (alpha3, "spa")) strcpy (idioma, "Spanish");
if (!strcmp (alpha3, "swe")) strcpy (idioma, "Swedish");
if (!strcmp (alpha3, "slv")) strcpy (idioma, "Slovenian");
if (!strcmp (alpha3, "slk")) strcpy (idioma, "Slovak");
if (!strcmp (alpha3, "slo")) strcpy (idioma, "Slovak");
if (!strcmp (alpha3, "srp")) strcpy (idioma, "Servbian");
if (!strcmp (alpha3, "sqi")) strcpy (idioma, "Albanian");
if (!strcmp (alpha3, "sme")) strcpy (idioma, "Northern Sami");
if (!strcmp (alpha3, "smo")) strcpy (idioma, "Samoan");
if (!strcmp (alpha3, "sag")) strcpy (idioma, "Sango");
if (!strcmp (alpha3, "san")) strcpy (idioma, "Sanskrit");
if (!strcmp (alpha3, "srd")) strcpy (idioma, "Sardinian");
if (!strcmp (alpha3, "sna")) strcpy (idioma, "Shona");
if (!strcmp (alpha3, "snd")) strcpy (idioma, "Sindhi");
if (!strcmp (alpha3, "sin")) strcpy (idioma, "Sinhalese");
if (!strcmp (alpha3, "som")) strcpy (idioma, "Somali");
if (!strcmp (alpha3, "sot")) strcpy (idioma, "Southern Sotho");
if (!strcmp (alpha3, "sun")) strcpy (idioma, "Sundanese");
if (!strcmp (alpha3, "swa")) strcpy (idioma, "Swahili");
if (!strcmp (alpha3, "ssw")) strcpy (idioma, "Swati");
break;
case 't':
if (!strcmp (alpha3, "tha")) strcpy (idioma, "Thai");
if (!strcmp (alpha3, "tur")) strcpy (idioma, "Turkish");
if (!strcmp (alpha3, "tgl")) strcpy (idioma, "Tagalog");
if (!strcmp (alpha3, "tah")) strcpy (idioma, "Tahitian");
if (!strcmp (alpha3, "tgk")) strcpy (idioma, "Tajik");
if (!strcmp (alpha3, "tam")) strcpy (idioma, "Tamil");
if (!strcmp (alpha3, "tat")) strcpy (idioma, "Tatar");
if (!strcmp (alpha3, "tel")) strcpy (idioma, "Telugu");
if (!strcmp (alpha3, "tib")) strcpy (idioma, "Tibetan");
if (!strcmp (alpha3, "tir")) strcpy (idioma, "Tigrinya");
if (!strcmp (alpha3, "ton")) strcpy (idioma, "Tonga (Tonga Islands)");
if (!strcmp (alpha3, "tso")) strcpy (idioma, "Tsonga");
if (!strcmp (alpha3, "tsn")) strcpy (idioma, "Tswana");
if (!strcmp (alpha3, "tuk")) strcpy (idioma, "Turkmen");
if (!strcmp (alpha3, "twi")) strcpy (idioma, "Twi");
break;
case 'u':
if (!strcmp (alpha3, "ukr")) strcpy (idioma, "Ukrainian");
if (!strcmp (alpha3, "und")) strcpy (idioma, "Undetermined");
if (!strcmp (alpha3, "uig")) strcpy (idioma, "Uighur");
if (!strcmp (alpha3, "urd")) strcpy (idioma, "Urdu");
if (!strcmp (alpha3, "uzb")) strcpy (idioma, "Uzbek");
break;
case 'v':
if (!strcmp (alpha3, "vie")) strcpy (idioma, "Vietnamese");
if (!strcmp (alpha3, "ven")) strcpy (idioma, "Venda");
if (!strcmp (alpha3, "vol")) strcpy (idioma, "Volapük");
break;
case 'w':
if (!strcmp (alpha3, "wln")) strcpy (idioma, "Walloon");
if (!strcmp (alpha3, "wel")) strcpy (idioma, "Welsh");
if (!strcmp (alpha3, "wol")) strcpy (idioma, "Wolof");
break;
case 'x':
if (!strcmp (alpha3, "xho")) strcpy (idioma, "Xhosa");
break;
case 'y':
if (!strcmp (alpha3, "yid")) strcpy (idioma, "Yiddish");
if (!strcmp (alpha3, "yor")) strcpy (idioma, "Yoruba");
break;
case 'z':
if (!strcmp (alpha3, "zho")) strcpy (idioma, "Chinese");
if (!strcmp (alpha3, "zha")) strcpy (idioma, "Zhuang");
if (!strcmp (alpha3, "zul")) strcpy (idioma, "Zulu");
break;
}
}
Emulgator
4th January 2014, 07:07
An attempt to have a better readable manual. If you spot errors, feel free to correct / edit.
Network Optix tsMuxeR. Version 2.6.11. www.networkoptix.com
tsMuxeR is an universal and easy-to use MPEG-2 Transport Stream Multiplexer.
tsMuxeR can mux compliant video streams + audio streams + PG (Presentation graphics = Subtitles) and SRT subs into TS / M2TS files or into Blu-ray / Blu-ray 3D / AVCHD volumes.
IG graphics = Buttons / Pop-Up Menus are not supported yet.
tsMuxeR can be run in track detection mode or muxing mode or demuxing mode.
Examples:
tsMuxeR <media file path>
If tsMuxeR is run with only the one argument <media file name> then tsMuxeR will display input track information required to build meta file.
tsMuxeR <meta file path> <out file/dir name>
If tsMuxeR is run with these two arguments tsMuxeR will start muxing or demuxing process.
Meta file format:
The Meta file you generate MUST have extension .meta. This file defines what and how you want to multiplex.
The first line of meta file contains the word MUXOPT followed by global parameters that will be applied to all tracks.
----------------------------------------------------------------------------------------------------------------------------------------
List of global parameters: (Global parameters start with TWO DASHES)
--demux In this mode selected audio video and subtitle tracks are demultiplexed. Output name must be folder name. All selected effects (such as change of level for h264) are processed.
While demuxing, certain types of tracks always get changed on storing into a file: Subtitles in a Presentation Graphic Stream will be converted into sup format. PCM audio will be saved as WAV files, each not exceeding 4GB.
Supported input containers to demux: SSIF/ TS / M2TS / MTS / EVO / VOB / MPG / MPEG / MKV / MKA / MOV / MP4 / M4A / MPLS / MPL (Blu-ray/AVCHD media play list file)
--blu-ray Mux as Blu-ray Volume. If output file name is a folder, Blu-ray volume is created as folder on HDD. If output file name has .iso extension, then Blu-ray volume will be created as image file.
For Blu-ray 3D volumes ssif files are not created in this case. To achieve muxing of .ssif files, choose .m2ts muxing and type extension *.ssif to output filepath.
--avchd Mux as AVCHD Volume. AVCHD will mux differently: *.bdmv, *.mpls, *.clpi have Code 100 (instead of 200 as with Blu-ray), index.bdmv contains the special descriptor AVCHD, certain folders (CERTIFICATE, JAR etc do not exist)
--mplsOffset The number of the first MPLS file (normally 00000). Used for Blu-ray / AVCHD mode only.
--m2tsOffset The number of the first M2TS file (normally 00000). Used for Blu-ray / AVCHD mode only.
--insertBlankPL Add 1 extra playlist to acommodate short (typical 0,5s) black video to circumvent switching problems with cropped video. Used for Blu-ray / AVCHD mode only.
--blankOffset Blank playlist number. Typically 1900. Used for Blu-ray / AVCHD mode only.
--auto-chapters <nn> Insert a chapter every <nn> minutes. Used for Blu-ray / AVCHD mode only.
--custom-chapters A semicolon delimited list of string in format hh:mm:ss.zzz. Used for Blu-ray / AVCHD mode only.
--label Volume label for muxing into ISO file. Used for Blu-ray / AVCHD mode only.
--right-eye Map base video stream to right eye (reversed order). Used for Blu-ray 3D only.
--no-pcr-on-video-pid Do not allocate separate PID for PCR, use an existing video PID.
--new-audio-pes Use bytes 0xfd instead of 0xbd for AC3, True-HD, DTS and DTS-HD. Parameter is auto activated for Blu-ray mode.
--vbr Use variable bitrate.
--minbitrate Sets the lower limit of the vbr bitrate. If the stream has a smaller bitrate then tsMuxeR will insert NULL packets to fill the limit.
--maxbitrate The upper limit of the vbr bitrate.
--cbr Muxing mode with a fixed bitrate. Options --vbr and --cbr should not be used together.
--vbv-len The length of the virtual buffer in milliseconds. The default value is 500. Typically, this option is used together with --cbr.
This parameter is similar to the value of vbv-buffer-size in the x264 encoder, but defined in milliseconds instead of kbit.
--start-time Timestamp of the first video frame. May be defined as 45Khz clock ticks (just a integer number) or as time in format hh:mm:ss.zzz.
An usual value for --start-time in a Blu-ray mux is 00:00:11.65066666 or 524280 (dec) or 00 07 FF F8 (hex).
--cut-start Trim <value> off the beginning of the file. Value shall be completed with units "ms" (the number of milliseconds), "s" (seconds) or "min" (minutes).
--cut-end Trim <value> off the end of the file. Value shall be completed with units "ms" (the number of milliseconds), "s" (seconds) or "min" (minutes).
--split-duration Split output into multiple files of <value> seconds duration.
--split-size Split output into multiple files of <value> filesize. Values shall be completed using one of the following postfixes: Kb,Kib, mb,mib, gb,gib.
--extra-iso-space Allocates extra space in 64K units for ISO disk metadata (file and directory names). Normally, tsMuxeR will allocate this space automatically.
But if split conditions generate a lot of small files, some extra ISO space may be required and can be defined here.
--no-asyncio Do not create a separate thread for writing. Also, this option disables flag FILE_FLAG_NO_BUFFERING for writing. Depreciated option.
------------------------------------------------------------------------------------------------------------------------------------------
The following lines after MUXOPT are a list of streams and their additional parameters.
A source file path can reference a elementary stream or a track inside a container.
Each line indicates a particular track and its muxing parameter(s).
The format is: <stream type>, <source file path>, <parameter>, <parameter>, <parameter>...
Each parameter looks like this: name=value.
If there is more than one parameter, these are to be given comma+space separated.
If any parameter value consists of several words, this parameter must be enclosed in quotes.
------------------------------------------------------------------------------------------------------------------------------------------
Meta file name conventions for supported stream types:
V_MPEGH/ISO/HEVC H.265/HEVC
V_MPEG4/ISO/AVC H.264/AVC
V_MPEG4/ISO/MVC H.264/MVC
V_MS/VFW/WVC1 VC1
V_MPEG-2 MPEG2
A_AC3 AC3/AC3+/TRUE-HD
A_AAC AAC
A_DTS DTS/DTS-Express/DTS-HD
A_MP3 MPEG audio layer 1/2/3
A_LPCM raw pcm data or PCM WAV file
S_HDMV/PGS Presentation graphic stream (BD subtitle format)
S_TEXT/UTF8 SRT subtitle format. Encoding MUST be UTF-8/UTF-16/UTF-32
--------------------------------------------------------------------------------------------------------------------------------------------
Example of a META file:
MUXOPT --blu-ray
V_MPEG4/ISO/AVC, D:/media/test/stream.h264, fps=25
A_AC3, D:/media/test/stream.ac3, timeshift=-10000ms
(In this example a Blu-ray volume is to be muxed. One elementary H264 video stream and one elementary AC3 audio stream are given by their paths to be multiplexed.
Furthermore tsMuxeR shall force the fps field of the video stream to 25fps and apply a 10s negative delay to the audio stream on muxing to compensate a previous time offset.)
-------------------------------------------------------------------------------------------------------------------------------------------
List of additional parameters: (Track parameters do not have any leading dash ! An "equal" sign connects parameter and value, a comma and a space separates multiple additional track parameters)
Common additional parameters for any type of track:
track track number if input file is container. Example: track=4352
lang track language. MUST contain exact 3 small letters. Example: lang=eng
Additional parameters for audio tracks:
timeshift A positive value shifts muxing of audio stream into future, a negative value shifts muxing of audio stream into past. Value is interpreted as milliseconds.
down-to-dts Available only for DTS-HD tracks. Takes only the lossy core into mux, discards HD part. No value to be given.
down-to-ac3 Available only for TRUE-HD tracks. Takes only the lossy core into mux, discards HD part. No value to be given.
secondary Muxes this stream as secondary audio. Available for DD+ and DTS-Express. No value to be given.
Additional parameters for video tracks:
fps Video fps (Default: fps=23.976). If not defined here, tsMuxeR will try to auto detect this value from the stream fps information. If the stream contains no fps information, value is assumed to be default 23.976.
delPulldown Removes pulldown from the track if exists. This option will lead to a fps change from 30 to 24 if a 3:2 pulldown existed before. No value to be given.
ar Overrides this track's video aspect ratio with the given value. 16:9, 4:3 e.t.c.
Additional parameters for H.264 video tracks:
level Overwrite level info in the H264 stream. Note: This option updates headers only. The H264 stream may not meet the requirements after applying a lower level.
insertSEI If original stream does not contain SEI picture timing, SEI buffering period or VUI parameters, then these data will be rebuilt and inserted into the stream. This option is recommended for Blu-ray muxing. No value to be given.
forceSEI Force overwriting of existing SEI picture timing, buffering period and VUI parameters to the stream by rebuilt data. Any existing SEI picture timing, SEI buffering period or VUI parameters will be overwritten. No value to be given.
contSPS If original video doesn't contain repetitive SPS/PPS then SPS/PPS will be added to the stream before each key frame. This option is recommended for Blu-ray muxing. No value to be given.
subTrack Used for combined AVC/MVC tracks only. TsMuxeR always demultiplexes such tracks into separate AVC and MVC streams. subtrack=1 defines the AVC part, subtrack=2 defines the MVC part.
secondary Mux this stream as secondary video (PIP). The following 5 parameters shall be given in sequence:
pipCorner Corner for PIP video. Allowed values: TopLeft, TopRight, BottomRight, BottomLeft. Default: pipCorner=topLeft.
pipHOffset PIP window horizontal offset from the corner in pixels. Default: pipHOffset=0
pipVOffset PIP window vertical offset from the corner in pixels. Default: pipVOffset=0
pipScale PIP window scale factor. Allowed values: 1, 1/2, 1/4, 1.5, fullScreen. Default: pipScale=1
pipLumma Allow PIP window to be transparent. Transparent colors are lumma colors in range [0..pipLumma]. Default: pipLumma=3
Additional parameters for PG and SRT tracks:
video-width The width of the video in pixels.
video-height The height of the video in pixels.
fps Video fps. It is recommended to define this parameter for more exact timing.
3d-plane Parameter defines number of the '3D offset track' which is placed inside MVC track.
Each particular subtitle can have individual 3D offset. This information will be stored inside 3D offset track.
Additional parameters for SRT tracks:
font-name Font name to render.
font-color Font color. Color can be defined in hexadecimal or decimal format.
If this value is 24 bit long (for instance 0xFF00FF) it will be interpreted as RGB components.
If this value is 32 bit long (for instance 0x80FF00FF) it will be interpreted as ARGB components.
font-size Font size to be rendered in pixels.
font-italic Italic text.
font-bold Bold text.
font-underline Underlined text.
font-strikeout Strikethrough text.
bottom-offset Distance from the lower edge while displaying text.
font-border Outline width in pixels.
fadein-time Time in ms for smooth subtitle appearance.
fadeout-time Time in ms for smooth subtitle disappearance.
line-spacing Interval between lines. Default value 1.0.
tsMuxeR supports additional tags inside SRT track. The syntax and parameters coincide with HTML: <b>, <i>, <u>, <strike>, <font>.
Default relative font size (used in these tags) - 3. For example:
<b><font size=5 color="deepskyblue" name="Arial"><u>Test</u><font size= 4 color="#806040">colored</font>text</font></b>
Text cleanup: 04.01.2014 by Emulgator
Correction of typical --start-time on blu-ray: 06.01.2014 by Emulgator
P.S. Gah, the tabs are lost...Never mind, use the attachment
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.