I want to blur part of live stream conditionally in realtime with ffmpeg.
I read about zeromq filter, but the output of ffmpeg -filters says that boxblur filter doesn't support commands. For example, I want to blur the bottom half of the video then after some time disable blur then blur all video.
How can I achieve this?
Related
I have a video I'm trying to make for a dumb joke. The input video stream could be anything, but in my case it's an image file that I'm adding audio to. I want to apply a screen shake effect/earthquake effect to the video to make it a bit more dramatic. Is there a simple way to do this with ffmpeg? I know ffmpeg can do a lot, but at a certain point it gets a bit impractical to do everything in ffmpeg.
I have some videos taken of a display, with the camera not perfectly oriented, so that the result shows a strong trapezoidal effect.
I know that there is a perspective filter in ffmpeg https://ffmpeg.org/ffmpeg-filters.html#perspective, but I'm too dumb to understand how it works from the docs - and I cannot find a single example.
Somebody can show me how it works?
The following example extracts a trapezoidal perspective section from an input Matroska video to an output video.
An estimated coordinate had to be inserted to complete the trapezoidal pattern (out-of-frame coordinate x2=-60,y2=469).
Input video frame was 1280x720. Pixel interpolation was specified linear, however that is the default if not specified at all. Cubic interpolation bloats the output with NO apparent improvement in video quality. Output video frame size will be of the input video's frame size.
Video output was viewable but rough quality due to sampling error.
ffmpeg -hide_banner -i input.mkv -lavfi "perspective=x0=225:y0=0:x1=715:y1=385:x2=-60:y2=469:x3=615:y3=634:interpolation=linear" output.mkv
You can also make use of ffplay (or any player which lets you access ffmpeg filters, like mpv) to preview the effect, or if you want to keystone-correct a display surface.
For example, if you have your TV above your fireplace mantle and you're sitting on the floor looking up at it, this will un-distort the image to a large extent:
ffplay video.mkv -vf 'perspective=W*.1:0:W*.9:0:-W*.1:H:W*1.1:H'
The above expands the top by 20% and compresses the bottom by 20%, cropping the top and infilling the bottom with the edge pixels.
Also handy for playing back video of a building you're standing in front of with the camera pointed up around 30 degrees.
I have seen this question about applying noise using FFMPEG on video
I have seen the video of Megamind.avi and it noisy version Megamind_bugy.avi
I want to apply the same noise on my list of video as well
I need help, I need the command to get the same noise, I'm using ffmpeg in ubuntu
thank you
I have a video and few images. I know two places in the video where I want to paste these images. But they shouldn't have fixed position and size. On the contrary, images should move, change their tilt angle and scale. For example you may imagine closed book and you want to overlay its name when the book is slowly opens.
I read FFMPEG documentation but didn't found anything about this. Can FFMPEG do this? If not, which libraries or methodics can do that?
The FFMPEG overlay filter can overlay one stream atop another.
It takes an expression which is evaluated per frame to determine the position.
https://ffmpeg.org/ffmpeg-filters.html#overlay-1
You may consider creating a filter chain to do the following.
1) Create a transparent image with the title of your book.
2) Use a 3D rotate filter to convert the single image into an animated sequence
3) Use the overlay filter to apply the animated stream atop your book video.
I am looking through the docs for ffmpeg and am having a hard time finding my way around.
Is there a way to add blurring to a video for a specific range in the video.
Example: a 1 minute video. I want to blur seconds 30-35.
Is this possible and if so what does the command look like?