A feature-rich RAW video developer for Magic Lantern formats.
 
 
Go to file
Sofus Albert Høgsbro Rose 8e0f352855 Set less -R again. 2016-06-30 23:06:41 +02:00
configs Finished release + bugfixes. See 1.9.4 changelog. 2016-06-30 23:03:43 +02:00
docs Finished release + bugfixes. See 1.9.4 changelog. 2016-06-30 23:03:43 +02:00
7D_badpixels.txt Fixed the huge colorspace bug (in a weird way - see Nasty Hacks in source). Fixed sRange 1 n error, where no output would be given. Implemented hqdn3d denoiser, and ffmpeg deshake, filters. 2016-06-27 00:59:14 -04:00
CHANGELOG Finished release + bugfixes. See 1.9.4 changelog. 2016-06-30 23:03:43 +02:00
README.md Finished release + bugfixes. See 1.9.4 changelog. 2016-06-30 23:03:43 +02:00
balance.py Fixed an oops in balance.py 2016-03-13 03:27:24 -04:00
convmlv.sh Set less -R again. 2016-06-30 23:06:41 +02:00
licence Added badpixels support, cleaned up, fixed bugs 2016-03-12 15:25:04 -05:00
sRange.py Fixed the huge colorspace bug (in a weird way - see Nasty Hacks in source). Fixed sRange 1 n error, where no output would be given. Implemented hqdn3d denoiser, and ffmpeg deshake, filters. 2016-06-27 00:59:14 -04:00

README.md

convmlv

MLV/RAW/DNG to Image/Movie and Proxy

See http://www.magiclantern.fm/forum/index.php?topic=16799.0 for more info.

The pdf found in the source, under docs->docs.pdf, is very outdated. Use the help text below.

Help page is below:


Usage:
	./convmlv.sh [FLAGS] [OPTIONS] files
	
INFO:
	A script allowing you to develop ML files into workable formats. Many useful options are exposed.
	  --> Image Defaults: Compressed 16-bit Linear EXR.
	  --> Acceptable Inputs: MLV, RAW, DNG Folder.
	  --> Option Input: From command line or config file.
	  
	  --> Forum Post: http://www.magiclantern.fm/forum/index.php?topic=16799.
	
VERSION: 1.9.4
	
MANUAL DEPENDENCIES:
	-mlv_dump: Required. http://www.magiclantern.fm/forum/index.php?topic=7122.0
	-raw2dng: For DNG extraction from RAW. http://www.magiclantern.fm/forum/index.php?topic=5404.0
	-mlv2badpixels.sh: For bad pixel removal. https://bitbucket.org/daniel_fort/ml-focus-pixels/src
	-cr2hdr: For Dual ISO Development. Two links: http://www.magiclantern.fm/forum/index.php?topic=16799.0
	-sRange.py: Required. See convmlv repository.
	-balance.py: For Auto White Balance. See convmlv repository.

OPTIONS, BASIC:
	-v, --version		version - Print out version string.
	-h, --help		help - Print out this help page.
	
	-C, --config		config - Designates config file to use.
	
	-o, --outdir <path>	OUTDIR - The path in which files will be placed.
	-P, --res-path <path>	RES_PATH - The path in which all manual dependencies are looked for.
	
	--mlv-dump <path>	MLV_DUMP - The path to mlv_dump.
	--raw-dump <path>	RAW_DUMP - The path to raw2dng.
	--badpixels <path>	MLV_BP - The path to mlv2badpixels.sh (by dfort).
	--cr-hdr <path>		CR_HDR - The path to cr2hdr.
	--srange <path>	 	SRANGE - The path to sRange.py.
	--balance <path>	BAL - The path to balance.py.
	--python <path>		PYTHON - The path or command used to invoke Python.
	
	-T, --threads [int]	THREADS - Override amount of utilized process threads
	
	
OPTIONS, OUTPUT:
	-i			IMAGE - Will output image sequence.
	
	-t [0:3]		IMG_FMT - Specified image output format.
	  --> 0: EXR (default), 1: TIFF, 2: PNG, 3: Cineon (DPX)."
	  --> Note: Only EXR supports Linear output. Specify -g 3 if not using EXR.
	
	-m			MOVIE - Will output a Prores4444 file.
	
	-p [0:3]		PROXY - Create proxies alongside main output.
	  --> 0: No proxies (Default). 1: H.264 proxy. 2: JPG proxy sequence. 3: Both.
	  --> JPG proxy *won't* be developed w/o IMAGE. H.264 proxy *will* be developed no matter what, if specified.
	
	-s [0%:100%]		PROXY_SCALE - the size, in %, of the proxy output.
	  --> 50% is default.
	
	-k			KEEP_DNGS - Specify if you want to keep the DNG files.
	  --> Run convmlv on the top level folder of former output to reuse saved DNGs from that run!
	  
	-r <start>-<end>	FRAME_RANGE - Specify to output this frame range only.
	  --> You may use s and e, such that s = start frame, e = end frame.
	  --> Indexed from 0 to (# of frames - 1).
	  --> A single number may be writted to develop that frame only.
	
	
	--uncompress		UNCOMP - Turns off lossless image compression. Otherwise:
	  --> TIFF: ZIP, EXR: PIZ, PNG: lvl 9 (zlib deflate), DPX: RLE.
	
	
OPTIONS, RAW DEVELOPMENT:
	-d [0:3]		DEMO_MODE - Demosaicing algorithm. Higher modes are slower + better.
	  --> 0: Bilinear. 1: VNG (default). 2: PPG. 3: AHD.
	
	-f	FOUR_COLOR - Interpolate as RGBG. Can often fix weirdness with VNG/AHD.
	
	-H [0:9]		HIGHLIGHT_MODE - Highlight management options.
	  --> 0: White, clipped highlights. 1: Clipped, colored highlights. 2: Similar to 1, but adjusted to grey.
	  --> 3-9: Highlight reconstruction. Can cause flickering; 1 or 2 usually give better results.
	
	-c [0:3]		CHROMA_SMOOTH - Apply shadow/highlight chroma smoothing to the footage.
	  --> 0: None (default). 1: 2x2. 2: 3x3. 3: 5x5.
	  --> MLV Only.
	
	-n [int]		WAVE_NOISE - Apply wavelet denoising.
	  --> Default: None. Subtle: 25. Medium: 50. Strong: 125.
	  
	-N <A>-<B>		TEMP_NOISE - Apply temporal denoising.
	  --> A: 0 to 0.3. B: 0 to 5. A reacts to abrupt noise (splotches), B reacts to noise over time (fast motion causes artifacts).
	  --> Subtle: 0.03-0.04. High: 0.15-0.04. High, Predictable Motion: 0.15-0.07
	  
	-Q [i-i:i-i]		HQ_NOISE - Apply 3D denoising filter.
	  --> In depth explanation: https://mattgadient.com/2013/06/29/in-depth-look-at-de-noising-in-handbrake-with-imagevideo-examples/ .
	  --> Spacial/Temporal (S/T). S will soften/blur/smooth, T will remove noise without doing that but may create artifacts.
	  --> Luma/Chroma (L/C). L is the detail, C is the color. Each one's denoising may be manipulated Spacially or Temporally.
	  
	  --> Option Value: <LS>-<CS>:<LT>-<CT>
	  --> Weak: 2-1:2-3. Medium: 3-2:2-3. Strong: 7-7:5-5
	
	-G [i-i-i-i]		REM_NOISE - Yet another spatial denoiser, with 4 choices of 24 modes.
	  --> See https://ffmpeg.org/ffmpeg-filters.html#removegrain for list of modes.
	  
	  --> Option Value: <mode1>-<mode2>-<mode3>-<mode4>
	  --> I truly cannot tell you what values will be helpful to you; there are too many... Look at the link above!
	
	-g [0:4]		SPACE - Output color transformation.
	  --> 0: Linear. 1: 2.2 (Adobe RGB). 2: 1.8 (ProPhoto RGB). 3: sRGB. 4: BT.709.
	
	--shallow 		SHALLOW - Output 8-bit files.
	
	
OPTIONS, COLOR:
	-w [0:2]		WHITE - This is a modal white balance setting.
	  --> 0: Auto WB. 1: Camera WB (default). 2: No Change.
	  
	-A [i:i:i:i]		SHARP - Lets you sharpen, or blur, your footage.
	  --> Size/Strength (S/T). S is the size of the sharpen/blur effect, T is the strength of the sharpen/blur effect.
	  --> Luma/Chroma (L/C). L is the detail, C is the color. Luma sharpening more effective.
	  --> Tip: Chroma blur can actually be a helpful noise reduction technique.
	
	  --> Option Value: <LS>:<LT>:<CS>:<CT>
	  --> LS and CS must be ODD, between 3 and 63. Negative LT/CT values blur, while positive ones sharpen.
	  --> Strong Sharp: 7:3:7:3 Strong Blur: 7,-3:7,-3
	  
	-l <path>		LUT - Specify a LUT to apply.
	  --> Supports cube, 3dl, dat, m3d.
	  
	-S [int]		SATPOINT - Specify the 14-bit saturation point of your camera. You don't usually want to.
	  --> Lower if -H1 yields purple highlights. Must be correct for highlight reconstruction.
	  --> Determine using the max value of 'dcraw -D -j -4 -T'
	
	--white-speed [int]	WHITE_SPD - Samples used to calculate AWB
	
	--allow-white-clip	WHITE_CLIP - Let White Balance multipliers clip.
	
	
OPTIONS, FEATURES:
	-D			DESHAKE - Stabilize the video using the wonderful ffmpeg "deshake" module.
	--> You'll probably wish to crop/scale the output in editing, to avoid edge artifacts.
	
	-u			DUAL_ISO - Process as dual ISO.
	
	-b			BADPIXELS - Fix focus pixels issue using dfort's script.
	
	-a <path>		BADPIXEL_PATH - Use your own .badpixels file.
	  --> How to: http://www.dl-c.com/board/viewtopic.php?f=4&t=686
	
	-F <path>		DARKFRAME - This is the path to a "dark frame MLV"; effective for noise reduction.
	  --> How to: Record 5 sec w/lens cap on & same settings as footage. Pass MLV in here.
	  --> If the file extension is '.darkframe', the file will be used as the preaveraged dark frame.
	
	-R <path>		dark_out - Specify to create a .darkframe file from passed in MLV.
	 --> Usage: 'convmlv -R <path> <input>.MLV'
	 --> Averages <input>.MLV to create <path>.darkframe.
	 --> THE .darkframe EXTENSION IS ADDED FOR YOU.
	
	
OPTIONS, INFO:
	-q			Output MLV settings.
	
	-K			Debian Package Deps - Output package dependecies.
	  --> Install (Debian only): sudo apt-get install $ (./convmlv -K)
	
	-Y			Python Deps - Lists Python dependencies. Works directly with pip.
	  -->Install (Linux): sudo pip3 install $ (./convmlv -Y)
	
	-M			Manual Deps - Lists manual dependencies, which must be downloaded by hand.
	  --> There's no automatic way to install these. See http://www.magiclantern.fm/forum/index.php?topic=16799.0 .
	
CONFIG FILE:
	Config files, another way to specify options, can save you time & lend you convenience in production situations.
	
	GLOBAL: /home/sofus/convmlv.conf
	LOCAL: Specify -C/--config.
	
	
	SYNTAX:
		Most options listed above have an uppercased VARNAME, ex. OUTDIR. Yu can specify such options in config files, as such:
		
			<VARNAME> <VALUE>
			
		One option per line only. Indentation by tabs or spaces is allowed, but not enforced.
			
		Comments Lines starting with # are comments.
		
		You may name a config using:
		
			CONFIG_NAME <name>
			
		Flags If the value is a true/false flag (ex. IMAGE), simply specifying VARNAME is enough. THere is no VALUE.
	
	OPTION ORDER OF PRECEDENCE Options override each other as such:
		-LOCAL options overwrite GLOBAL options.
		-COMMAND LINE options overwrite LOCAL & GLOBAL options.
		-FILE SPECIFIC options overwrite ALL ABOVE options.
	
	
	File-Specific Block: A LOCAL config file lets you specify options for specific input names:
	
		/ <TRUNCATED INPUTNAME>
			...options here will only be 
		*
		
		You must use the truncated (no .mlv or .raw) input name after the /. Nested blocks will fail.
		
		With a single config file, you can control the development options of multiple inputs as specifically and/or generically
		as you want. Batch developing everything can then be done with a single, powerful commmand.
		


Contact me with any feedback or questions at convmlv@sofusrose.com, or PM me (so-rose) on the ML forums!