Yesterday I discovered Magic Lantern. I read that ffmpeg supports the MLV format. Does anyone has experience with this? -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Yesterday I discovered Magic Lantern. I read that ffmpeg supports the MLV format. Does anyone has experience with this?
What have you tried already and what are you hoping to do? I haven't tried MLV in years, seeing as my 650D could only do pretty much SD RAW. I downloaded a test file from here from 2014 - MLV may have evolved since
Hi, On Wed, Mar 29, 2017 at 9:07 PM, Cecil Westerhof <Cecil@decebal.nl> wrote: then : https://www.magiclantern.fm/forum/index.php?topic=11899.0 and ffmpeg seems to handle it very well. I'd imagine that you might want to make a prores version, so here's what my terminal output looked like. There's some DTS errors which I'm not entirely sure of but the video looks good - there could be audio sync issues if it was a longer clip with audio, but I'm weak with things like PTS/DTS: ffmpeg -i Downloads/5DII_14may14_blfixOFF.MLV -c:v prores prores.mov ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.3.0 (Homebrew gcc 5.3.0) configuration: --prefix=/home/kieranjol/.linuxbrew/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=/home/kieranjol/.linuxbrew/bin/gcc-5 --host-cflags='-Os -w -pipe -march=native' --host-ldflags='-L/home/kieranjol/.linuxbrew/lib -Wl,--dynamic-linker=/home/kieranjol/.linuxbrew/lib/ld.so -Wl,-rpath,/home/kieranjol/.linuxbrew/lib' --enable-ffplay --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/home/kieranjol/.linuxbrew/Cellar/openjpeg/2.1.2/include/openjpeg-2.1 --enable-vda libavutil 55. 34.101 / 55. 34.101 libavcodec 57. 64.101 / 57. 64.101 libavformat 57. 56.101 / 57. 56.101 libavdevice 57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libavresample 3. 1. 0 / 3. 1. 0 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 libpostproc 54. 1.100 / 54. 1.100 Ignoring attempt to set invalid timebase 1/0 for st:1 Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, mlv, from 'Downloads/5DII_14may14_blfixOFF.MLV': Metadata: guid : 0x2b1f92591e422d93 picStyleName : Neutral isoMode : manual isoValue : 400 isoAnalog : 88 digitalGain : 0 shutterValue : 21348 focalLength : 105 focalDist : 70 aperture : 400 stabilizerMode : 14 autofocusMode : 3 flags : 0 lensID : 237 lensName : EF24-105mm f/4L IS USM cameraName : Canon EOS 5D Mark II cameraModel : 2147484184 cameraSerial : 8AF4F7AC wb_mode : 1 kelvin : 5200 wbgain_r : 461 wbgain_g : 1024 wbgain_b : 590 wbs_gm : 0 wbs_ba : 4294967292 picStyleId : 132 contrast : 4294967292 sharpness : 2 saturation : 4294967294 colortone : 0 time : 2014-05-16 01:52:13 Duration: 00:00:00.67, start: 0.000000, bitrate: 732719 kb/s Stream #0:0: Video: rawvideo (BIT[16] / 0x10544942), bayer_rggb16le, 1856x1044, 23.98 tbr, 23.98 tbn, 23.98 tbc Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s [prores @ 0x1e99a00] encoding with ProRes standard (apcn) profile [prores @ 0x1e9e3e0] encoding with ProRes standard (apcn) profile [prores @ 0x1ea3000] encoding with ProRes standard (apcn) profile [prores @ 0x1ea7d20] encoding with ProRes standard (apcn) profile [prores @ 0x1dd2b40] encoding with ProRes standard (apcn) profile Output #0, mov, to 'prores.mov': Metadata: guid : 0x2b1f92591e422d93 picStyleName : Neutral isoMode : manual isoValue : 400 isoAnalog : 88 digitalGain : 0 shutterValue : 21348 focalLength : 105 focalDist : 70 aperture : 400 stabilizerMode : 14 autofocusMode : 3 flags : 0 lensID : 237 lensName : EF24-105mm f/4L IS USM cameraName : Canon EOS 5D Mark II cameraModel : 2147484184 cameraSerial : 8AF4F7AC wb_mode : 1 kelvin : 5200 wbgain_r : 461 wbgain_g : 1024 wbgain_b : 590 wbs_gm : 0 wbs_ba : 4294967292 picStyleId : 132 contrast : 4294967292 sharpness : 2 saturation : 4294967294 colortone : 0 time : 2014-05-16 01:52:13 encoder : Lavf57.56.101 Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le, 1856x1044, q=2-31, 200 kb/s, 23.98 fps, 11988 tbn, 23.98 tbc Metadata: encoder : Lavc57.64.101 prores Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc57.64.101 aac Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> prores (native)) Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [aac @ 0x1de7e60] Queue input is backward in time [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9216, current: 641; changing to 9217. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9217, current: 1665; changing to 9218. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9218, current: 2689; changing to 9219. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9219, current: 3713; changing to 9220. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9220, current: 4737; changing to 9221. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9221, current: 5761; changing to 9222. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9222, current: 6785; changing to 9223. This may result in incorrect timestamps in the output file. [aac @ 0x1de7e60] Queue input is backward in time [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9223, current: 7809; changing to 9224. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9224, current: 8833; changing to 9225. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9225, current: 257; changing to 9226. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9226, current: 1281; changing to 9227. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9227, current: 2305; changing to 9228. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9228, current: 3329; changing to 9229. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9229, current: 4353; changing to 9230. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9230, current: 5377; changing to 9231. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9231, current: 6401; changing to 9232. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9232, current: 7425; changing to 9233. This may result in incorrect timestamps in the output file. [mov @ 0x1dd11c0] Non-monotonous DTS in output stream 0:1; previous: 9233, current: 8449; changing to 9234. This may result in incorrect timestamps in the output file. frame= 4 fps=0.0 q=-0.0 Lsize= 2047kB time=00:00:00.21 bitrate=76666.9kbits/s speed=0.407x video:2036kB audio:10kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.073966% [aac @ 0x1de7e60] Qavg: 161.729
On Thursday 30 Mar 2017 23:45 CEST, Kieran O. Leary wrote:
Yesterday I discovered Magic Lantern. I read that ffmpeg supports the MLV format. Does anyone has experience with this?
What have you tried already and what are you hoping to do? I haven't tried MLV in years, seeing as my 650D could only do pretty much SD RAW. I downloaded a test file from here from 2014 - MLV may have evolved since then :
Not much. With ffmpeg -codecs I did not see anything that seemed to work with MLV. And because all references where a few years old I was afraid it was a stillborn child. And because I needed to implement some changes before I could (my system does not recognise ExFAT at the moment) I wanted at least an indication that my work would not be in vain. ;-) I am going to dive into it. Thanks. It is mostly that I want to bypass the 30 minute limit. But I understood that you could also get much better results. So I will dive in that also. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof
On Fri, Mar 31, 2017 at 12:11:56 +0200, Cecil Westerhof wrote:
Not much. With ffmpeg -codecs I did not see anything that seemed to work with MLV.
From what I can tell, that which ffmpeg supports is a format and not a codec - check "ffmpeg -formats". The codec may be something different inside?
Do you have samples you can share? (I'm too lazy to google.) Moritz, not the slightest idea about MLV. ;)
Hi Moritz, On Fri, Mar 31, 2017 at 3:01 PM, Moritz Barsnick <barsnick@gmx.net> wrote:
On Fri, Mar 31, 2017 at 12:11:56 +0200, Cecil Westerhof wrote:
Not much. With ffmpeg -codecs I did not see anything that seemed to work with MLV.
From what I can tell, that which ffmpeg supports is a format and not a codec - check "ffmpeg -formats". The codec may be something different inside?
Do you have samples you can share? (I'm too lazy to google.)
I linked to a sample in my reply. The codec seems to just be 16-bit RAW bayer_rggb16le - though I'm pretty sure Canon DSLRs capture images at 12 or 14-bit.
On Fri, Mar 31, 2017 at 18:31:36 +0100, Kieran O Leary wrote:
From what I can tell, that which ffmpeg supports is a format and not a codec - check "ffmpeg -formats". The codec may be something different inside? Do you have samples you can share? (I'm too lazy to google.)
I linked to a sample in my reply. The codec seems to just be 16-bit RAW bayer_rggb16le - though I'm pretty sure Canon DSLRs capture images at 12 or 14-bit.
Ah, sorry, I though Cecil was looking for the mlv codec, while he was actually looking for the appropriate raw codec. Indeed, decoding some samples (7D_14may14_blfixOFF.MLV) doesn't look right, out of the box. At this point, as it seems to be (guessing) "yet another raw format", tools specialized on raw formats might be a better choice right now. Though I prefer if ffmpeg supported "everything". ;) Moritz
2017-03-31 20:42 GMT+02:00 Moritz Barsnick <barsnick@gmx.net>:
Indeed, decoding some samples (7D_14may14_blfixOFF.MLV) doesn't look right, out of the box.
Saturation (and contrast?) have to be adjusted with some existing filters (lut?), the metadata should tell you more. Carl Eugen
On Friday 31 Mar 2017 19:31 CEST, Kieran O. Leary wrote:
Not much. With ffmpeg -codecs I did not see anything that seemed to work with MLV.
From what I can tell, that which ffmpeg supports is a format and not a codec - check "ffmpeg -formats". The codec may be something different inside?
Do you have samples you can share? (I'm too lazy to google.)
I linked to a sample in my reply. The codec seems to just be 16-bit RAW bayer_rggb16le - though I'm pretty sure Canon DSLRs capture images at 12 or 14-bit.
The site of Magic Lantern says it is 14 bits. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof
participants (4)
-
Carl Eugen Hoyos -
Cecil Westerhof -
Kieran O Leary -
Moritz Barsnick