Skip to content

利用FFmpeg视频录制微信小视频与其压缩处理

Notifications You must be signed in to change notification settings

jljlpch/small-video-record

 
 

Repository files navigation

small-video-record

利用FFmpeg视频录制与压缩处理,这里得感谢vitamio家的秒拍SO库,也感谢提出问题的朋友们!

###效果如下: sample ###特点: #####1:利用FFmpeg录制各种分辨率的视频。 #####2:可设置以H264编码压缩,6秒的1M视频压缩后为200多KB,且视频还比较清晰 #####3:录制简单,一行代码完成集成。 ###使用方法: ######1:添加依赖

compile 'com.mabeijianxi:small-video-record:1.0.8'

######2:在manifests里面添加

 <activity android:name="mabeijianxi.camera.MediaRecorderActivity"/>

######3:在Application里面初始化小视频录制:

public static void initSmallVideo(Context context) {
        // 设置拍摄视频缓存路径
        File dcim = Environment
                .getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
        if (DeviceUtils.isZte()) {
            if (dcim.exists()) {
                VCamera.setVideoCachePath(dcim + "/mabeijianxi/");
            } else {
                VCamera.setVideoCachePath(dcim.getPath().replace("/sdcard/",
                        "/sdcard-ext/")
                        + "/mabeijianxi/");
            }
        } else {
            VCamera.setVideoCachePath(dcim + "/mabeijianxi/");
        }
        VCamera.setDebugMode(true);
        VCamera.initialize(context);
    }

######4:跳转录制界面:

MediaRecorderConfig config = new MediaRecorderConfig.Buidler()
                .doH264Compress(true)
                .smallVideoWidth(480)
                .smallVideoHeight(360)
                .recordTimeMax(6 * 1000)
                .maxFrameRate(20)
                .minFrameRate(8)
                .captureThumbnailsTime(1)
                .recordTimeMin((int) (1.5 * 1000))
                .build();
        MediaRecorderActivity.goSmallVideoRecorder(this, SendSmallVideoActivity.class.getName(), config);

######一些问题: 1:编译环境请满足:targetSdkVersion<=22 2:出现 java.lang.UnsatisfiedLinkError错误可以尝试在gradle.properties中添加:android.useDeprecatedNdk=true,然后在主module的build.gradle中配置ndk {abiFilters "armeabi", "armeabi-v7a"} ######更新日志: 2016-12-14: 提交1.0.8,修复部分手机不支持输入帧率问题,彻底修复录制浏览变形

2016-10-26:
提交1.0.7,增强兼容性,防止录制尺寸不支持奔溃

2016-10-14:
提交1.0.6,修复在不支持的尺寸下无异常抛出。

2016-10-13:
提交小视频1.0.5,修复部分手机录制变形问题。

2016-10-12:
修复sample参数小bug。

2016-08-26:
提交小视频1.0.2,增加Buidler配置,可自定义更多内容。

2016-08-26:
提交小视频1.0.1,更新配置文件。

2016-08-25:
提交小视频1.0.0

###sample下载: sample Download Demo

About

利用FFmpeg视频录制微信小视频与其压缩处理

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%