For the record, here's the thread on ffmpeg-user mailing list: http://ffmpeg.org/pipermail/ffmpeg-user/2019-March/043677.html
Gerardo Il giorno mer 6 mar 2019 alle ore 11:48 Gerardo Ballabio <gerardo.balla...@gmail.com> ha scritto: > > I guess my question was too specific. I'll try asking directly on > ffmpeg mailing list. > Thanks > Gerardo > > > Il giorno dom 3 mar 2019 alle ore 18:16 Gerardo Ballabio > <gerardo.balla...@gmail.com> ha scritto: > > > > Hello all, > > I have a video that was filmed under bad lighting conditions, the > > background is too bright and people in the foreground are dark. I'm > > trying to use ffmpeg to correct it. Please kindly help me. > > > > Here you can find a snippet: > > https://drive.google.com/drive/folders/1aG04znyHdDio7cvgaQlovYTb8bX8NTLL?usp=sharing > > > > video1.mts is the original file. video2.mp4 was created by a friend of > > mine using proprietary software on Windows. I've been trying to > > reproduce that. video3.mts is the best result I obtained (see below) > > but the contrast is still too high and the colors aren't quite right. > > > > I've tried several of ffmpeg's effects but maybe there are some better > > ones that I missed? > > > > - "eq=brightness=..." turns black into grey and gives the video a > > "foggy" look, no good > > - "colorlevels=..." I tried many parameter sets but couldn't do much > > better, in the end I concluded that probably linear scaling isn't good > > enough and I need nonlinear > > - "curves=..." was indeed better but when I stretched the curve beyond > > a certain point I obtained distorted colors > > - I tried "geq=..." too but it doesn't seem to work, I always get an > > error like this: > > > > ffmpeg -i video1.mts -vf geq='r=r(X,Y):g=g(X,Y):b=b(X,Y)' video3.mts > > [Parsed_geq_0 @ 0x55a01bb0aa60] [Eval @ 0x7ffd3d63afb0] Missing ')' or > > too many args in 'r(X' > > [AVFilterGraph @ 0x55a01bb09e80] Error initializing filter 'geq' with > > args 'r=r(X' > > Error opening filters! > > > > These are the commands that I used to produce video3.mts: > > > > ffmpeg -i video1.mts -vf colorlevels=romax=0.8:gomax=1.0:bomax=0.9 -b > > 12M temp.mts > > ffmpeg -i temp.mts -vf curves=r='0/0.05 0.1/0.25 1/0.8':g='0/0.05 > > 0.1/0.25 1/0.8':b='0/0.05 0.1/0.25 1/0.8' -b 12M video3.mts > > > > Thanks > > Gerardo