在Android中,如何使用VidEffects的滤镜渲染视频

通过使用VidEffects(https://github.com/krazykira/VidEffects),我可以将滤镜成功应用于我的应用中的录制视频。问题是这样的插件无法渲染经过过滤的视频,无论如何,我正试图通过使用此类来应用永久视频效果:


public class VideoProcessing extends AsyncTask {

    private final File myDirectory;

    private FFmpegFrameGrabber VIDEO_GRABBER;

    private FFmpegFrameRecorder videoRecorder;

    File file;

    int totalLength;

    private Context mContext;

    private FFmpegFrameFilter filter;


    VideoProcessing(Context context, String path) {

        mContext = context;

        file = new File(path);

        VIDEO_GRABBER = new FFmpegFrameGrabber(file);

        myDirectory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/_Pikky-Edited-Video/");

        Log.i(Configurations.TAG, "VIDEO PROCESSING PATH: " + myDirectory);


        if (!myDirectory.exists()) { myDirectory.mkdirs(); }

    }



    @Override

    protected void onPreExecute() {

        super.onPreExecute();

    }


  

无论如何,似乎该doInBackground函数未在任何地方被调用,因为该应用程序仅在我的Pictures目录(_Pikky-Edited-Video)中创建自定义文件夹,并在Logcat中打印其路径-看Log.i(Configurations.TAG, "VIDEO PROCESSING PATH: " + myDirectory);,仅此而已,视频预览就保留了下来。在我的Activity中播放-这是因为我已将MediaPlayer的循环设置为true-但我的VideoProcessing类的其他函数也未调用initVideoRecorder()。


这是我的build.gradle,所有必需的依赖项均已下载:


    implementation 'com.writingminds:FFmpegAndroid:0.3.2'

    implementation group: 'org.bytedeco', name: 'javacv', version: '1.1'

    implementation group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.0.0-1.1', classifier: 'android-arm'

    implementation group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.8.1-1.1', classifier: 'android-arm'

我也欢迎采用替代解决方案来渲染带有滤镜的视频。


料青山看我应如是
浏览 146回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java