【发布时间】:2016-11-12 08:34:45
【问题描述】:
我正在构建一个在线视频编辑器。我需要允许用户模糊电影区域。这必须以图形方式完成,我的意思是用户应该能够使用屏幕截图选择视频的一个区域,然后选择的区域必须是模糊的。像这样的东西
是否有办法将此选定的区域尺寸及其与边界的距离映射到必须应用于视频的实际值?
我的意思是四个数字,width, length, top, left 将使用此插件提供,我需要使用这些数字来模糊视频区域。
我截取了视频截图。为了保持纵横比,我将宽度固定为800px,并让高度放大/缩小。很明显,截图选中区域的width, length, top, left是视频中必须模糊的区域width, length, top, left的一个因子。但我不知道如何获得这个因素。除此之外,我不知道如何获得视频分辨率。
提前致谢。
更新
这是获取所选区域尺寸和偏移量的 PHP 代码
$iLeft = $_POST['left'];
$iTop = $_POST['top'];
$iWidth = $_POST['width'];
$iHeight = $_POST['height'];
exec('ffmpeg -i '.$url.' -filter_complex "[0:v]scale=iw*sar:ih,setsar=1,split[bg][bb];[bb]crop='.$iWidth.'*iw/800:iw*'.$iHeight.'/800:'.$iWidth.'*iw/800:'.$iHeight.'*iw/800,boxblur=10[b0];[bg][b0]overlay='.$iLeft.'*W/800:'.$iTop.'*W/800"" '.$name.' > block.txt 2>&1');
$iLeft, $iTop, $iWidth, $iHeight是图片插件选中区域的左、上、宽、高。
它很好地模糊了许多选定的区域,但是像这样的区域
图片Left, Top, Width, Height是257, 39.26666259765625, 10, 391
不要弄糊涂。此外,Dimension 207x207 的视频也没有变得模糊。
【问题讨论】:
标签: javascript jquery css video ffmpeg