'How to keep highest value of ffmpeg crop detect
Case :
I'm converting an old archive of 18000 commercials I'd like to automate this reconversion from DV to some lighter and uptodate h264 mp4
The whole process is ready but I'm stuck at the first part: cropping the black bars...
Tools used :
The thing is : all videos are different, I cannot use one static value, thus I use the wonderful cropdetect tool by ffmpeg which outputs me this kind of lines in the cli:
[Parsed_cropdetect_0 @ 0xbe5e960] x1:22 x2:697 y1:93 y2:483 w:672 h:384 x:24 y:98 pts:63 t:2.520000 crop=672:384:24:98
[Parsed_cropdetect_0 @ 0xbe5e960] x1:22 x2:697 y1:93 y2:483 w:672 h:384 x:24 y:98 pts:64 t:2.560000 crop=672:384:24:98
[Parsed_cropdetect_0 @ 0xbe5e960] x1:22 x2:697 y1:93 y2:484 w:672 h:384 x:24 y:98 pts:65 t:2.600000 crop=672:384:24:98
[Parsed_cropdetect_0 @ 0xbe5e960] x1:22 x2:697 y1:93 y2:496 w:672 h:400 x:24 y:96 pts:66 t:2.640000 crop=672:400:24:96
[Parsed_cropdetect_0 @ 0xbe5e960] x1:2 x2:717 y1:80 y2:496 w:704 h:416 x:8 y:80 pts:67 t:2.680000 crop=704:416:8:80
[Parsed_cropdetect_0 @ 0xbe5e960] x1:1 x2:718 y1:80 y2:496 w:704 h:416 x:8 y:80 pts:68 t:2.720000 crop=704:416:8:80
[Parsed_cropdetect_0 @ 0xbe5e960] x1:1 x2:718 y1:80 y2:496 w:704 h:416 x:8 y:80 pts:69 t:2.760000 crop=704:416:8:80
[Parsed_cropdetect_0 @ 0xbe5e960] x1:1 x2:718 y1:80 y2:496 w:704 h:416 x:8 y:80 pts:70 t:2.800000 crop=704:416:8:80
[Parsed_cropdetect_0 @ 0xbe5e960] x1:1 x2:718 y1:80 y2:496 w:704 h:416 x:8 y:80 pts:71 t:2.840000 crop=704:416:8:80
So the last part : crop= gives the result of the remaining frame (width, hight, starting x point starting y point. to crop the video..
But these values are not always the same inside one video how can I extract 'the biggest values' out of these hundreds of lines?
In this case, just keep crop=704:416:8:80
Edit
Actually, the result should take in account the lowest x1, highest x2, lowest y1 and highest y2, then create a rectangle multiple of 16 inside it...
Solution 1:[1]
Each row in the output shows the largest area encountered by the process so far, not the exact area of each frame. So you should only look at the last line.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
