10
2
I need to produce timelapse video from a webcam that was mounted at a slightly off-vertical angle, and I need to rotate the image about 3 degrees counter-clockwise. (The webcam is in a virtually inaccessible location and due to weather may get kicked askew eventually even if we did fix the angle. So I need to fix it in software.)
I have had success using ImageMagick's convert tool with the command line option:
convert infile.jpg -distort ScaleRotateTranslate 750,50,-3 outfile.jpg
but of course it is painfully slow to convert. I can do absolutely everything else I need to do (cropping and overlaying a logo on the image) using FFmpeg filters, but there doesn't seem to be a filter that allows rotating an image by an arbitrary angle, only by 90 or 180 degrees.
Perhaps there is some sort of generic linear transformation filter that can do this?
Thanks for any help.
It's hilarious that its not just degrees by default. I just tried "rotate=-4" and got some serious wacky result! – FinancialRadDeveloper – 2016-12-07T22:27:14.833
@FinancialRadDeveloper: see http://math.stackexchange.com/q/1952206 and linked/related questions
– mark4o – 2016-12-07T23:56:04.3871This looks promising. Definitely the answer I was looking for. I do wish there was a way to specify the center of rotation. I'll figure out a workaround by doing some translational displacement of the image before and after rotation to achieve the same effect. I'll try to remember to post a followup on what I find. – Tom – 2013-07-06T20:19:26.427
1Irony is that the version of ffmpeg I was using, I built from sources on June 11, the same day the new rotate feature was added. If I had just waited a few hours I would have already had it! – Tom – 2013-07-06T20:36:29.907