【问题标题】:How to crop and rotate the video in Android using crop image and convert image libraries?如何使用裁剪图像和转换图像库在 Android 中裁剪和旋转视频?
【发布时间】:2016-12-16 10:03:59
【问题描述】:

我正在为 Android 创建一个具有裁剪图像/裁剪视频功能的应用程序。对于 iOS,此应用程序已创建。

对于 iOS,使用 lib 编辑视频 LLVideoEditor 以及用于图像裁剪和旋转的库TOCropViewController

对于 Android,我找到了用于图像裁剪的 uCrop 库和用于视频裁剪的 ffmpeg-for-Android 库。

为了裁剪视频,我拍摄视频的第一帧,然后使用 uCrop 库对其进行裁剪以接收裁剪坐标。 (X、Y、宽度、高度、旋转角度)。 我将接收到的坐标作为命令传递给ffmpeg-for-Android 作为命令行。 该命令如下所示:

要裁剪视频,我使用以下命令:

ffmpeg -y -i /sdcard/video/in.mp4 -vf crop=Width:Height:X:Y /sdcard/video/out.mp4

要裁剪视频并将视频顺时针旋转 90 度,我使用以下命令:

ffmpeg -y -i /sdcard/video/in.mp4 -vf crop=Width:Height:X:Y transpose=1 /sdcard/video/out.mp4

我遇到的问题:

  1. 当我选择裁剪图像区域并按 90 度旋转图像并按应用时,uCrop 库返回 X、Y、croppedImageWidth、croppedImageHeight、Angle。在这种情况下,Y 应该等于 0,但我收到 Y > 0,即 Y = 图像上方黑色区域的高度。选择裁剪图像区域后,uCrop 库不会进行正确的图像缩放。

  1. 使用 ffmpeg 库转换视频的速度非常慢。我转换的视频只有 5 秒长,所以转换应该很快。但这需要大约 15 秒。与 iOS 相比,它需要的时间非常长。

问题是: 1.我选择的这种裁剪视频的方式是正确的吗? 2. 我在哪里可以找到适用于 Android 的与适用于 iOS 的类似库,这将使我能够为 Android 应用程序提供与 iOS 应用程序相同的功能,即接收正确的裁剪图像坐标和快速裁剪视频?

【问题讨论】:

    标签: android image video ffmpeg android-image


    【解决方案1】:

    你可以参考https://android-arsenal.com/tag/45它提到了很多用于图像处理的库,它很有用,信息量很大,定性的库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      • 2011-12-09
      • 1970-01-01
      • 2020-02-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多