在ubuntu上使用ffmpeg裁剪视频中的黑条会改变视频大小

在ubuntu上使用ffmpeg裁剪视频中的黑条会改变视频大小,ubuntu,ffmpeg,crop,Ubuntu,Ffmpeg,Crop,我有一个源视频大小是720x576,顶部和底部有黑色矩形 我想删除黑色矩形并将输出视频大小设置为640x352 我尝试了-vf cropdetect,它给出的值是640:192:0:80 但是,将相同的值放入crop=会更改输出视频大小 我怎样才能解决这个问题 例如: 当指定-s 640x352作为应用于输出的第一个命令时,是否希望ffmpeg最后处理它?从你的结果来看,我想它一定是先应用了它(适用于黑框仍然完好无损的电影)。因此,黑色边框的大小将随电影一起调整。然后将为原始大小的电影检测到的裁

我有一个源视频大小是720x576,顶部和底部有黑色矩形

我想删除黑色矩形并将输出视频大小设置为640x352

我尝试了
-vf cropdetect
,它给出的值是640:192:0:80

但是,将相同的值放入
crop=
会更改输出视频大小

我怎样才能解决这个问题

例如:


当指定-s 640x352作为应用于输出的第一个命令时,是否希望ffmpeg最后处理它?从你的结果来看,我想它一定是先应用了它(适用于黑框仍然完好无损的电影)。因此,黑色边框的大小将随电影一起调整。然后将为原始大小的电影检测到的裁剪应用于此新的较小电影。不画一些东西很难解释,但这会扭曲你的纵横比,并且,如果裁剪被表示为要保留的几何体,则从边距中剪切一些内容(请记住:在应用原始裁剪之前,你将视频缩小了)。换句话说,它不仅仅是扭曲的,而且人们应该有一些缺失的头发、附属物和其他东西

为什么不做一个简单的测试用例呢。如果我用你在黑框电影中的基本方法,效果会很好

步骤1保持不变。执行ffmpeg-i movie.mp4-vf cropdetect temp.mp4并阅读它对crop的说明,比如您的crop=640:192:0:80

步骤2:简化命令行以测试:ffmpeg-i movie.mp4-vf crop=640:192:0:80 movie\u without\u borders.mp4。确保在将自己的边界设置为文件大小的播放器中播放结果(或者可以配置为这样做-如果使用pot player,请按2)。这部新电影没有被扭曲,黑色边框也消失了


对于我的测试文件,发生了两个大小更改。首先,显然,新的几何尺寸是我们为作物指定的。其次,文件大小略有减小,可能是因为使用了少量空间来保存黑盒。使用libx264和相对压缩的低质量文件,无需太多移动,剪切出一个与图片面积相等的黑盒,将文件大小从3.99减小到3.76(对于n=1..)。但很可能您的意思是图片看起来“扭曲了”。

当您指定-s 640x352作为应用于输出的第一个命令时,是否希望ffmpeg最后处理它?从你的结果来看,我想它一定是先应用了它(适用于黑框仍然完好无损的电影)。因此,黑色边框的大小将随电影一起调整。然后将为原始大小的电影检测到的裁剪应用于此新的较小电影。不画一些东西很难解释,但这会扭曲你的纵横比,并且,如果裁剪被表示为要保留的几何体,则从边距中剪切一些内容(请记住:在应用原始裁剪之前,你将视频缩小了)。换句话说,它不仅仅是扭曲的,而且人们应该有一些缺失的头发、附属物和其他东西

为什么不做一个简单的测试用例呢。如果我用你在黑框电影中的基本方法,效果会很好

步骤1保持不变。执行ffmpeg-i movie.mp4-vf cropdetect temp.mp4并阅读它对crop的说明,比如您的crop=640:192:0:80

步骤2:简化命令行以测试:ffmpeg-i movie.mp4-vf crop=640:192:0:80 movie\u without\u borders.mp4。确保在将自己的边界设置为文件大小的播放器中播放结果(或者可以配置为这样做-如果使用pot player,请按2)。这部新电影没有被扭曲,黑色边框也消失了


对于我的测试文件,发生了两个大小更改。首先,显然,新的几何尺寸是我们为作物指定的。其次,文件大小略有减小,可能是因为使用了少量空间来保存黑盒。使用libx264和相对压缩的低质量文件,无需太多移动,剪切出一个与图片面积相等的黑盒,将文件大小从3.99减小到3.76(对于n=1..)。但很可能你的意思是图片看起来“扭曲”。

假设这仍然是一个问题,那么“更改视频大小”是什么意思?长宽比错了吗?cropdetect说电影内容是640x192,但你说你想要640x352,所以你并不清楚你想要的输出是什么。你只想要小一点的黑条吗?不同的纵横比?假设这仍然是一个问题,那么“更改视频大小”是什么意思?长宽比错了吗?cropdetect说电影内容是640x192,但你说你想要640x352,所以你并不清楚你想要的输出是什么。你只想要小一点的黑条吗?不同的纵横比?
ffmpeg -i all_the_best_test.mpg -s 640x352 -deinterlace -b 500k -minrate 500k \
-maxrate 500k -aspect 1.82 -force_fps -vcodec libx264 -me_method 10 \
-vf crop=640:192:0:80 -r 25 -acodec libfaac -ac 2 -ar 44100 -ab 96k -subq 6 \
-vpre medium /vod/Movies/final/allthebest-crop-2.mp4