ffmpeg使用filter crop 裁剪视频
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg使用filter crop 裁剪视频相关的知识,希望对你有一定的参考价值。
参考技术A 有时候使用OBS之类的工具录制生放送视频会把多余的边框录制进去,网上有一些这样的视频,这样的视频看起来不太舒服,边框占据屏幕面积,实际的内容只有很小的部分,不方便观看,最近就碰到一个这样的例子。于是我查看ffmpeg文档找到了裁剪视频的方法。 使用filter可以对视频流和音频流进行一些处理,包含了很多工具,可以实现诸如裁剪视频,给视频加水印,去色块,加字幕等功能,也有对音频处理的功能,比如可以实现双声道合并转单声道,调整音频采样率等
这次我需要处理的一个视频的情况是录制niconico生放送,实际录制区域在左上角,整个视频为1920x1080大小,但是只有左上角部分是浏览器的视频内容,周边全是黑色区域。
执行的ffmpeg命令如下:
ffmpeg -i in.mp4 -vf crop='1280:720:0:0' -acodec copy out.mp4
其中crop常用的4个参数分别用 : 隔开,w,h,x,y,分别是裁剪的宽高和裁剪的位置。
也可以按如下方式指定参数
ffmpeg -i in.mp4 -vf crop='out_w=1280:out_h=720:x=0:y=0' -acodec copy out.mp4
-vf是 -filter:v的缩写。
还有一些其他参数可以指定:
自动检测裁剪大小,没有试过实际效果,所以先把文档贴上,以后用到了再看吧。
Auto-detect the crop size.
It calculates the necessary cropping parameters and prints the recommended parameters via the logging system. The detected dimensions correspond to the non-black area of the input video.
It accepts the following parameters:
如何将旋转角度传递给 ffmpeg 库?
【中文标题】如何将旋转角度传递给 ffmpeg 库?【英文标题】:How can I pass a rotation angle to the ffmpeg library? 【发布时间】:2017-04-28 13:44:06 【问题描述】:为了在 Android 中裁剪视频,我创建的唯一解决方案是:ffmpeg 库。阅读文档后,我不太了解命令行接收哪些参数。 例如,
String[] cmd = "-i", in, "-filter:v", "crop=" + 240 + ":" + 120 + ":" + 100 + ":" + 100, "- c:a", "复制", out;
如何应用旋转角度?
视频裁剪的正确 cmd 是什么?
【问题讨论】:
请看我的回答***.com/questions/41138683/… 【参考方案1】:只是快速谷歌搜索发现以下。
Cropping video(很好解释的答案)
视频旋转ffmpeg命令
ffmpeg -i in.mov -vf "transpose=1" out.mov
转置的有效选项
0 = 90CounterCLockwise and Vertical Flip (default)
1 = 90Clockwise
2 = 90CounterClockwise
3 = 90Clockwise and Vertical Flip
希望对你有帮助
视频轮播回答source
【讨论】:
以上是关于ffmpeg使用filter crop 裁剪视频的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg filter_complex concat 仅给出裁剪的第一个输入