iknow4 / Android-Video-Trimmer

The Android-Video-Trimmer project implements the selection of clips for long and short videos. It uses MediaMetadataRetriever to obtain video frames, and uses ffmpeg for video cropping and video compression.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

android Q 没有适配

AmioLee opened this issue · comments

10以下系统没问题

能提供下详细的日志吗?

android Q报错:java.io.IOException: Cannot run program "/data/user/0/com.huaxinauction.chengjiao/files/ffmpeg": error=13, Permission denied

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'

这个新的库的开始时间和时长不需要处理 开始时间的格式00:00:20 改为20 时长的格式00:00:10改为10,还有因为10的存储路劲的问题,从相册获取的的视频的路径都是content://media/开头的,这个路径要处理成真实路径

这个问题有好的解决方法没有?可以提供下吗

I have updated my app to API level 29 so it broke my image picking mechanism. Earlier everything was working fine. Now when I searched over forums/StackOverflow I came to know that I have to migrate to a scoped storage framework in order to make it work. I found 2 things so far

  1. opt out of scoped storage
  2. Read the stream and write into the cache directory so that my app can access it.

My question is that is it mandatory to copy the file for using it. If yes I'm afraid to use this approach as it will consume lot of time because my app uses large videos that we upload to the server.

Is it possible to use this framework to just read the URI of image/video without copying to the cache directory? Did anyone working on it?

for reference, I followed these articles
https://developer.android.com/guide/topics/providers/document-provider
https://medium.com/@sriramaripirala/android-10-open-failed-eacces-permission-denied-da8b630a89df
https://issuetracker.google.com/issues/130494105

We did a lot of searching over google and other forums but didn't found any way to fix the issue without point 2 mentioned above. We also don't want to opt-out as it will break in Android 11. We posted questions at several developer forums and websites but still unable to figure it out.

这个新的库的开始时间和时长不需要处理 开始时间的格式00:00:20 改为20 时长的格式00:00:10改为10,还有因为10的存储路劲的问题,从相册获取的的视频的路径都是content://media/开头的,这个路径要处理成真实路径

你好 您给的https://github.com/tanersener/mobile-ffmpeg可以更换到这个库 这个库现在打开是404 有其他链接吗

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'
您好 下载您说的这个库替换调implementation 'nl.bravobit:android-ffmpeg:1.1.7'就可以了吗?

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'
您好 下载您说的这个库替换调implementation 'nl.bravobit:android-ffmpeg:1.1.7'就可以了吗?

是的

这个新的库的开始时间和时长不需要处理 开始时间的格式00:00:20 改为20 时长的格式00:00:10改为10,还有因为10的存储路劲的问题,从相册获取的的视频的路径都是content://media/开头的,这个路径要处理成真实路径

你好 您给的https://github.com/tanersener/mobile-ffmpeg可以更换到这个库 这个库现在打开是404 有其他链接吗

https://github.com/tanersener/mobile-ffmpeg

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'
您好 下载您说的这个库替换调implementation 'nl.bravobit:android-ffmpeg:1.1.7'就可以了吗?

是的

感谢了 我试了下载zip包 但是下载到后期就是失败....

这个新的库的开始时间和时长不需要处理 开始时间的格式00:00:20 改为20 时长的格式00:00:10改为10,还有因为10的存储路劲的问题,从相册获取的的视频的路径都是content://media/开头的,这个路径要处理成真实路径

你好 您给的https://github.com/tanersener/mobile-ffmpeg可以更换到这个库 这个库现在打开是404 有其他链接吗

https://github.com/tanersener/mobile-ffmpeg

谢谢

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'
您好 下载您说的这个库替换调implementation 'nl.bravobit:android-ffmpeg:1.1.7'就可以了吗?

是的

你好 能给个联系方式吗 请教你一个问题

implementation 'nl.bravobit:android-ffmpeg:1.1.7'替换为implementation 'com.github.yangfeng1994:FFmpeg-Android:v2.0.1' 亲测有效,链接地址为 https://github.com/yangfeng1994/FFmpeg-Android 只需将VideoTrimmerUtil下trim 方法中的 FFmpeg.getInstance(context).execute(command, new ExecuteBinaryResponseHandler() {}这个更改为
FFmpegAsyncUtils asyncTask =new FFmpegAsyncUtils();
String finalOutputFile = outputFile;
asyncTask.setCallback(new FFmpegExecuteCallback() {

  @Override
  public void onFFmpegStart() {
    callback.onStartTrim();
  }

  @Override
  public void onFFmpegSucceed(@Nullable String executeOutput) {
    callback.onFinishTrim(finalOutputFile);
  }

  @Override
  public void onFFmpegFailed(@Nullable String executeOutput) {

  }

  @Override
  public void onFFmpegProgress(@Nullable Integer progress) {

// fload mprogress = progress/执行视频文件或语音文件时长
}

  @Override
  public void onFFmpegCancel() {

  }
});
asyncTask.execute(command);

即可

那是因为安卓10不支持path直接访问文件了,两个解决办法:把sdk降到10以下,或者在AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件加上android:requestLegacyExternalStorage="true" 无效,目前把sdk降到28了

你好 项目遇到了同样的问题 您解决了吗?

下载这个库,引用到代码中,而不是使用implementation 'nl.bravobit:android-ffmpeg:1.1.7'
您好 下载您说的这个库替换调implementation 'nl.bravobit:android-ffmpeg:1.1.7'就可以了吗?

是的

你好 能给个联系方式吗 请教你一个问题

qq:229605030