Coder Social home page Coder Social logo

mabeijianxi / small-video-record Goto Github PK

View Code? Open in Web Editor NEW
3.4K 3.4K 732.0 88.71 MB

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

License: Apache License 2.0

Java 0.76% CMake 0.02% C++ 1.16% C 86.55% Makefile 3.97% Shell 0.10% Perl 0.09% Assembly 5.36% CSS 0.01% Roff 1.81% Objective-C 0.16% Verilog 0.01% HTML 0.01% Python 0.01%

small-video-record's People

Contributors

mabeijianxi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

small-video-record's Issues

安卓4.3 报错

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/sdcard0/DCIM/mabeijianxi/1230201908/1230201908.jpg: open failed: ENOENT (No such file or directory)

是不支持 4.4 以下吗??

libutility.so无法加载的问题

导入的库中只有armeabi-v7a目录下有该so库,其他目录下没有,启动时有些手机无法找到对应的so库会崩溃

预览画面打不开

12-08 15:02:23.540 24724-24724/com.mabeijianxi.smallvideo W/System.err: java.lang.RuntimeException: setParameters failed
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.hardware.Camera.native_setParameters(Native Method)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.hardware.Camera.setParameters(Camera.java:1695)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at mabeijianxi.camera.MediaRecorderBase.startPreview(MediaRecorderBase.java:614)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at mabeijianxi.camera.MediaRecorderBase.surfaceCreated(MediaRecorderBase.java:701)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.SurfaceView.updateWindow(SurfaceView.java:577)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.SurfaceView.access$000(SurfaceView.java:86)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176)
12-08 15:02:23.541 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2012)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1125)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5808)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:762)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:575)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer.doFrame(Choreographer.java:545)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:748)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.os.Handler.handleCallback(Handler.java:733)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.os.Looper.loop(Looper.java:136)
12-08 15:02:23.542 24724-24724/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5028)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo W/System.err: at dalvik.system.NativeStart.main(Native Method)
12-08 15:02:23.543 24724-24724/com.mabeijianxi.smallvideo E/Yixia: startPreview fail :setParameters failed

功能完善

MediaRecorderCustom这个类的功能能完善吗?

视频不能铺满view

你好,谢谢你的库!我用了这个库android ios 全部是640*480尺寸的视频,为什么android在显示时不能完全的铺满屏幕,左右有黑边,而ios可以正常的显示?原因在那个地方?如果我做视频拉伸处理的话是正常显示的,但是ios说拉伸不好处理,所以再ios机器上不能正常显示。这个问题该怎么处理?多谢

有的android机不支持

这个库应该是从 VitamioRecorderLibrary 支持而来,里面的so也是一样大,当时做的时候有个缺陷,有点cpu架构是不支持的,比如:

private final String[] CPU_UNSUPPORT_ARRAY = new String[]{"arm64-v8a"};

是不支持的,出现unsatified linked error错误。因为是so包方法找不到,try catch 也是得不到的。所有我加了是否支持本机cpu的判断。 希望可以解决这个问题,让这个库的支持性更广!

摄像头设置参数错误

java.lang.RuntimeException: setParameters failed
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.hardware.Camera.native_setParameters(Native Method)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.hardware.Camera.setParameters(Camera.java:2110)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at mabeijianxi.camera.MediaRecorderBase.startPreview(MediaRecorderBase.java:613)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at mabeijianxi.camera.MediaRecorderBase.surfaceCreated(MediaRecorderBase.java:700)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.SurfaceView.updateWindow(SurfaceView.java:597)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:179)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2057)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1109)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6046)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:670)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer.doFrame(Choreographer.java:606)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.os.Looper.loop(Looper.java:152)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5497)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at java.lang.reflect.Method.invoke(Native Method)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo W/System.err: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117)
09-10 09:52:35.205 27751-27751/com.mabeijianxi.smallvideo E/Yixia: startPreview fail :setParameters failed

视频怎么设置压缩码率?

我现在录制30s视频,压缩后大小在10m 左右,这也太大了。
请问如何设置可以将大小达到 你说的 200kb/6s 体积?

关于版权和 一些小的问题.....

如果在商业项目中使用,你说是vitamio家的秒拍SO库, 这会不会涉及到商业版权的问题???
还有就是 录制完成的时候,你在点击播放的时候,电流声会特别的大,不知道你注意到了没???
谢谢博主的开源精神,谢谢

compileSdkVersion使用23编译,发现崩溃

1-24 16:19:08.343 4358-4358/com.mabeijianxi.smallvideo W/System.err: java.io.IOException: open failed: ENOENT (No such file or directory)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at java.io.File.createNewFile(File.java:939)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at mabeijianxi.camera.VCamera.setVideoCachePath(VCamera.java:111)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at com.mabeijianxi.smallvideo.MainActivity.initSmallVideo(MainActivity.java:52)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at com.mabeijianxi.smallvideo.MainActivity.onCreate(MainActivity.java:22)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.Activity.performCreate(Activity.java:6298)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2729)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.-wrap12(ActivityThread.java)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:111)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.os.Looper.loop(Looper.java:207)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5905)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at java.lang.reflect.Method.invoke(Native Method)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at libcore.io.Posix.open(Native Method)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
11-24 16:19:08.347 4358-4358/com.mabeijianxi.smallvideo W/System.err: at java.io.File.createNewFile(File.java:932)
11-24 16:19:08.348 4358-4358/com.mabeijianxi.smallvideo W/System.err: ... 15 more
11-24 16:19:08.355 4358-4358/com.mabeijianxi.smallvideo D/AndroidRuntime: Shutting down VM
11-24 16:19:08.355 4358-4358/com.mabeijianxi.smallvideo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mabeijianxi.smallvideo, PID: 4358
java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.mabeijianxi.smallvideo-1/lib/arm/libutility.so: has text relocations
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.yixia.videoeditor.adapter.UtilityAdapter.(UtilityAdapter.java:10)
at mabeijianxi.camera.VCamera.initialize(VCamera.java:48)
at com.mabeijianxi.smallvideo.MainActivity.initSmallVideo(MainActivity.java:57)
at com.mabeijianxi.smallvideo.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6298)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2729)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5905)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)

关于录制

您好,我最近研究录制,想做一个预录制的功能,您的项目很好,但是我想问一下,在我只能给到data音视频数据的情况夏,能否修改供我使用呢,请大神指导一下?

可否边录制边转码?

我这里不需要分块,所以改了一下代码,只有一个mediapart,那这种情况能不能让它边录边转?

您好。。能帮我看下这个问题吗。。很急

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/ettwit.com.zhangshanggarden-2/base.apk"],nativeLibraryDirectories=[/data/app/ettwit.com.zhangshanggarden-2/lib/arm64, /data/app/ettwit.com.zhangshanggarden-2/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libutility.so"

在eclipse中运行不了

移植到eclipse中运行会报错 请问是为什么
logcat:java.lang.UnsatisfiedLinkError: No implementation found for void com.wzcc.recordvideo.UtilityAdapter.FFmpegInit(java.lang.Object, java.lang.String) (tried Java_com_wzcc_recordvideo_UtilityAdapter_FFmpegInit and Java_com_wzcc_recordvideo_UtilityAdapter_FFmpegInit__Ljava_lang_Object_2Ljava_lang_String_2)

libutility.so开源么

大神,请问libutility.so是你自己封装的么?和vitamio demoi里面的libffmpeg.so,libvcamera.so有什么区别呢

可有.so包的源码

能否提供.so包的源码,想替换最新的ffmpeg代码,以及看看能不能精简一点

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.