wangshuo1143368701 / wslivedemo Goto Github PK
View Code? Open in Web Editor NEW音视频,直播SDK,rtmp推流,录制视频,滤镜。百万用户,线上迭代半年,已经稳定。
音视频,直播SDK,rtmp推流,录制视频,滤镜。百万用户,线上迭代半年,已经稳定。
是否支持截屏或者系统录屏推流
如题,请问:获取到了h264的原始字节流,如何推流到RTMP服务器呢
os:mac
as:3.2
报错信息:
错误: 无法访问GPUImageFilter
找不到jp.co.cyberagent.android.gpuimage.GPUImageFilter的类文件
请问如何减少
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/yuanmiao/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/prebuilt/darwin-x86_64/bin/mipsel-linux-android-strip''
at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:197)
at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:327)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)
... 5 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/yuanmiao/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/prebuilt/darwin-x86_64/bin/mipsel-linux-android-strip'
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:68)
... 5 more
Caused by: java.io.IOException: Cannot run program "/Users/yuanmiao/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/prebuilt/darwin-x86_64/bin/mipsel-linux-android-strip" (in directory "/Users/yuanmiao/WSLiveDemo/app"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 8 more
请问大佬如果我要支持mips架构,jniLibs的so库要怎么编译呢
正常录制视频时候报的错,偶现,但是频率很高,以下是bugly上面抓到的崩溃日志:
java.lang.NullPointerException
Attempt to invoke virtual method 'void me.lake.librestreaming.b.d.a(int, int)' on a null object reference
1 me.lake.librestreaming.core.h$a.b(RESHardVideoCore.java:843)
2 me.lake.librestreaming.core.h$a.handleMessage(RESHardVideoCore.java:380)
3 android.os.Handler.dispatchMessage(Handler.java:111)
4 android.os.Looper.loop(Looper.java:207)
5 android.os.HandlerThread.run(HandlerThread.java:61)
群号搜索不到
貌似要等到相机预览开始以后才可以启动推流,否则会报错,但是不知道怎么获取到相机预览开始的回调,请问有比较好的办法么?
请问如何解决。
错误信息:
E/HAL: load: id=gralloc != hmi->id=gralloc
E/Camera-JNI: android_hardware_Camera_native_setup Error: -1
E/Camera: Camera new cameraInitNormal:-1
推流Log:
04-02 21:13:27.536 3284-3315/com.wangshuo.wslive.wslivedemo D/dalvikvm: Trying to load lib /data/app-lib/com.wangshuo.wslive.wslivedemo-1/libresrtmp.so 0x94f96480
04-02 21:13:27.536 3284-3315/com.wangshuo.wslive.wslivedemo D/dalvikvm: Added shared lib /data/app-lib/com.wangshuo.wslive.wslivedemo-1/libresrtmp.so 0x94f96480
04-02 21:13:27.536 3284-3315/com.wangshuo.wslive.wslivedemo D/dalvikvm: No JNI_OnLoad found in /data/app-lib/com.wangshuo.wslive.wslivedemo-1/libresrtmp.so 0x94f96480, skipping init
04-02 21:13:27.536 3284-3315/com.wangshuo.wslive.wslivedemo D/RESRTMP: RTMP_OPENING:rtmp://localhost:1935/wstv/home
04-02 21:13:27.536 3284-3315/com.wangshuo.wslive.wslivedemo D/RESRTMP: connect success!
04-02 21:13:27.546 3284-3315/com.wangshuo.wslive.wslivedemo D/RESRTMP: RTMP_Connect=ret
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo I/OMXClient: Using client-side OMX mux.
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo I/SoftAVCEncoder: Construct SoftAVCEncoder
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo E/SoftAVCEncoder: internalSetParameter: StoreMetadataInBuffersParams.nPortIndex not zero!
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo E/OMXNodeInstance: OMX_SetParameter() failed for StoreMetaDataInBuffers: 0x80001001
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo E/ACodec: [OMX.google.h264.encoder] storeMetaDataInBuffers (output) failed w/ err -2147483648
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo A/ACodec: frameworks/av/media/libstagefright/ACodec.cpp:1982 CHECK(ret > 1) failed.
04-02 21:13:27.546 3284-3331/com.wangshuo.wslive.wslivedemo A/libc: Fatal signal 4 (SIGILL) at 0xb77223ef (code=2), thread 3331 (CodecLooper)
04-02 21:13:27.646 157-157/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-02 21:13:27.646 157-157/? I/DEBUG: Build fingerprint: 'Android/samsung/samsung:4.4.2/KOT49H/3.8.017.0504:userdebug/test-keys'
04-02 21:13:27.646 157-157/? I/DEBUG: Revision: '0'
04-02 21:13:27.646 157-157/? I/DEBUG: pid: 3284, tid: 3331, name: CodecLooper >>> com.wangshuo.wslive.wslivedemo <<<
04-02 21:13:27.646 157-157/? I/DEBUG: signal 4 (SIGILL), code 2 (ILL_ILLOPN), fault addr b77223ef
04-02 21:13:27.676 157-157/? I/DEBUG: eax 00000052 ebx b7729e58 ecx 7bc80230 edx 7bc8f3b8
04-02 21:13:27.676 157-157/? I/DEBUG: esi 7bc8f8ac edi b90357d0
04-02 21:13:27.676 157-157/? I/DEBUG: xcs 00000073 xds 0000007b xes 0000007b xfs 0000003b xss 0000007b
04-02 21:13:27.676 157-157/? I/DEBUG: eip b77223ef ebp 7bc8f420 esp 7bc8f410 flags 00210202
04-02 21:13:27.676 157-157/? I/DEBUG: backtrace:
04-02 21:13:27.676 157-157/? I/DEBUG: #00 pc 0000b3ef /system/lib/libcutils.so (__android_log_assert+95)
04-02 21:13:27.676 157-157/? I/DEBUG: #1 pc 0004e99d /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: #2 pc 000562e1 /system/lib/libstagefright.so (android::ACodec::setupAVCEncoderParameters(android::spandroid::AMessage const&)+1505)
04-02 21:13:27.676 157-157/? I/DEBUG: #3 pc 00057365 /system/lib/libstagefright.so (android::ACodec::setupVideoEncoder(char const*, android::spandroid::AMessage const&)+1509)
04-02 21:13:27.676 157-157/? I/DEBUG: #4 pc 00057986 /system/lib/libstagefright.so (android::ACodec::configureCodec(char const*, android::spandroid::AMessage const&)+534)
04-02 21:13:27.676 157-157/? I/DEBUG: #5 pc 0005e3cd /system/lib/libstagefright.so (android::ACodec::LoadedState::onConfigureComponent(android::spandroid::AMessage const&)+125)
04-02 21:13:27.676 157-157/? I/DEBUG: #6 pc 0005ec59 /system/lib/libstagefright.so (android::ACodec::LoadedState::onMessageReceived(android::spandroid::AMessage const&)+121)
04-02 21:13:27.676 157-157/? I/DEBUG: #7 pc 0000a328 /system/lib/libstagefright_foundation.so (android::AHierarchicalStateMachine::onMessageReceived(android::spandroid::AMessage const&)+248)
04-02 21:13:27.676 157-157/? I/DEBUG: #8 pc 0000d1ba /system/lib/libstagefright_foundation.so (android::ALooperRoster::deliverMessage(android::spandroid::AMessage const&)+346)
04-02 21:13:27.676 157-157/? I/DEBUG: #9 pc 0000b551 /system/lib/libstagefright_foundation.so (android::ALooper::LooperThread::threadLoop()+289)
04-02 21:13:27.676 157-157/? I/DEBUG: #10 pc 00017ab0 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+512)
04-02 21:13:27.676 157-157/? I/DEBUG: #11 pc 00017cb6 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
04-02 21:13:27.676 157-157/? I/DEBUG: #12 pc 0000bc8c /system/lib/libc.so (__thread_entry+236)
04-02 21:13:27.676 157-157/? I/DEBUG: #13 pc 0003e265 /system/lib/libc.so (__pthread_clone+69)
04-02 21:13:27.676 157-157/? I/DEBUG: #14 pc 00017bbf /system/lib/libutils.so
04-02 21:13:27.676 157-157/? I/DEBUG: #15 pc 000f0d3f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #16 pc 000f11cf [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #17 pc 000fad3f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #18 pc 000f083f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #19 pc 000c8c5f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #20 pc 0002977f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #21 pc 000210ef [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #22 pc 0008753f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #23 pc 000133cf [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #24 pc 000130ef [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #25 pc 000041af [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #26 pc 000644df [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #27 pc 00063c0f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #28 pc 000637af [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #29 pc 00062edf [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #30 pc 0006281f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: #31 pc 0002741f [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: stack:
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3d0 00000000
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3d4 00000000
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3d8 b76a6c4b /system/lib/libc.so (__vfprintf+11)
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3dc 7bc8f39c [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3e0 7bc8f980 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3e4 b903aaf4 [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3e8 7ba7be6c /system/lib/libstagefright_soft_h264enc.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3ec b76aaab1 /system/lib/libc.so (vsnprintf+145)
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3f0 7bc8f41c [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3f4 7ba7b16c /system/lib/libstagefright_soft_h264enc.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3f8 7bc8f900 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f3fc b7729e58 /system/lib/libcutils.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f400 7bc8f8ac [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f404 b90357d0 [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f408 7bc8f420 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f40c b77223ef /system/lib/libcutils.so (__android_log_assert+95)
04-02 21:13:27.676 157-157/? I/DEBUG: #00 7bc8f410 00000007
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f414 83fcfee3 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f418 7bc8f420 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f41c 7bc8f84c [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f420 6d617266
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f424 726f7765
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f428 612f736b
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f42c 656d2f76
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f430 2f616964
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f434 7362696c
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f438 65676174
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f43c 67697266
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f440 412f7468
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f444 65646f43
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f448 70632e63
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f44c 39313a70
04-02 21:13:27.676 157-157/? I/DEBUG: ........ ........
04-02 21:13:27.676 157-157/? I/DEBUG: #1 7bc8f840 83fcfeea /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f844 83fcfee3 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f848 83fcfee0 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f84c 83fcb500 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f850 7bc8f8ac [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f854 83ec0968 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f858 84028960 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f85c 83ec82e2 /system/lib/libstagefright.so
04-02 21:13:27.676 157-157/? I/DEBUG: #2 7bc8f860 b8f56b40 [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f864 00000001
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f868 0600000f
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f86c 7bc8f8ac [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f870 00000018
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f874 02000001
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f878 7bc8f9a0 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f87c 83e70d94 /system/lib/libstagefright_omx.so
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f880 00000000
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f884 00000002
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f888 00000001
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f88c 7bc8f8c4 [stack:3331]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f890 b903aad4 [heap]
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f894 00096000
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f898 00000002
04-02 21:13:27.676 157-157/? I/DEBUG: 7bc8f89c 00000000
04-02 21:13:27.676 157-157/? I/DEBUG: ........ ........
04-02 21:13:27.686 157-157/? I/DEBUG: memory map around fault addr b77223ef:
04-02 21:13:27.686 157-157/? I/DEBUG: b7716000-b7717000 rw- /system/lib/liblog.so
04-02 21:13:27.686 157-157/? I/DEBUG: b7717000-b7729000 r-x /system/lib/libcutils.so
04-02 21:13:27.686 157-157/? I/DEBUG: b7729000-b772a000 r-- /system/lib/libcutils.so
04-02 21:13:27.706 163-163/? W/CameraService: Disconnecting camera client 0xb7d63e90 since the binder for it died (this pid 163)
--------- beginning of /dev/log/system
04-02 21:13:27.706 471-492/system_process I/BootReceiver: Copying /data/tombstones/tombstone_02 to DropBox (SYSTEM_TOMBSTONE)
04-02 21:13:27.716 471-505/system_process W/InputDispatcher: channel '4ab93d7c com.wangshuo.wslive.wslivedemo/com.wangshuo.wslive.wslivedemo.LiveActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
04-02 21:13:27.716 471-505/system_process E/InputDispatcher: channel '4ab93d7c com.wangshuo.wslive.wslivedemo/com.wangshuo.wslive.wslivedemo.LiveActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
04-02 21:13:27.726 471-492/system_process D/dalvikvm: GC_FOR_ALLOC freed 1081K, 20% free 8750K/10808K, paused 21ms, total 22ms
04-02 21:13:27.726 471-1573/system_process W/InputDispatcher: Attempted to unregister already unregistered input channel '4ab93d7c com.wangshuo.wslive.wslivedemo/com.wangshuo.wslive.wslivedemo.LiveActivity (server)'
04-02 21:13:27.726 471-512/system_process W/NetworkManagementSocketTagger: setKernelCountSet(10039, 0) failed with errno -13
04-02 21:13:27.726 471-1573/system_process I/WindowState: WIN DEATH: Window{4ab93d7c u0 com.wangshuo.wslive.wslivedemo/com.wangshuo.wslive.wslivedemo.LiveActivity}
04-02 21:13:27.726 471-660/system_process I/ActivityManager: Process com.wangshuo.wslive.wslivedemo (pid 3284) has died.
04-02 21:13:27.726 471-660/system_process W/ActivityManager: Force removing ActivityRecord{4a9893e8 u0 com.wangshuo.wslive.wslivedemo/.LiveActivity t22}: app died, no saved state
04-02 21:13:27.736 648-648/com.vphone.launcher D/dalvikvm: GC_FOR_ALLOC freed 4036K, 30% free 15070K/21372K, paused 5ms, total 5ms
04-02 21:13:27.746 163-3316/? E/EmulatedCamera_Preview: onNextFrameAvailable: Unable to dequeue preview window buffer: 32 -> Broken pipe
04-02 21:13:27.746 163-163/? D/EmulatedCamera_HostClient: queryStop cmd:4, datasize:0.
04-02 21:13:27.746 163-163/? D/EmulatedCamera_HostClient: queryDisconnect cmd:5, datasize:0.
04-02 21:13:27.746 161-161/? D/Zygote: Process 3284 terminated by signal (4)
04-02 21:13:27.756 471-485/system_process W/WindowManager: updateFocusedWindowLocked, focusedAppToken is null.
04-02 21:13:27.786 163-163/? W/CameraClient: native_window_api_disconnect failed: Broken pipe (-32)
04-02 21:13:27.786 163-163/? I/CameraClient: Destroying camera 1
04-02 21:13:27.836 648-648/com.vphone.launcher W/EGL_emulation: eglSurfaceAttrib not implemented
录像报错:
04-02 21:14:24.306 3354-3354/com.wangshuo.wslive.wslivedemo D/MediaMuxerWrapper: path=/storage/emulated/0/Movies/WSLive
04-02 21:14:24.306 1197-3397/com.estrongs.android.pop E/Cataloger: syncFile:/storage/emulated/0/Movies/WSLive/2018-04-02-21-14-24.mp4
04-02 21:14:24.306 3354-3354/com.wangshuo.wslive.wslivedemo I/OMXClient: Using client-side OMX mux.
04-02 21:14:24.306 3354-3354/com.wangshuo.wslive.wslivedemo I/SoftAVCEncoder: Construct SoftAVCEncoder
04-02 21:14:24.306 3354-3354/com.wangshuo.wslive.wslivedemo I/MediaVideoEncoder: bitrate= 2.99[Mbps]
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo I/OMXClient: Using client-side OMX mux.
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo I/SoftAVCEncoder: Construct SoftAVCEncoder
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo E/SoftAVCEncoder: internalSetParameter: StoreMetadataInBuffersParams.nPortIndex not zero!
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo E/OMXNodeInstance: OMX_SetParameter() failed for StoreMetaDataInBuffers: 0x80001001
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo E/ACodec: [OMX.google.h264.encoder] storeMetaDataInBuffers (output) failed w/ err -2147483648
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo I/ACodec: setupVideoEncoder succeeded
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo E/OMXNodeInstance: createInputSurface requires COLOR_FormatSurface (AndroidOpaque) color format
04-02 21:14:24.316 3354-3405/com.wangshuo.wslive.wslivedemo E/ACodec: [OMX.google.h264.encoder] onCreateInputSurface returning error -38
04-02 21:14:24.316 3354-3354/com.wangshuo.wslive.wslivedemo W/MediaCodec: createInputSurface failed, err=-38
04-02 21:14:24.316 3354-3354/com.wangshuo.wslive.wslivedemo D/AndroidRuntime: Shutting down VM
04-02 21:14:24.316 3354-3354/com.wangshuo.wslive.wslivedemo W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x94cbcb20)
--------- beginning of /dev/log/system
04-02 21:14:24.316 3354-3354/com.wangshuo.wslive.wslivedemo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wangshuo.wslive.wslivedemo, PID: 3354
java.lang.IllegalStateException
at android.media.MediaCodec.createInputSurface(Native Method)
at me.lake.librestreaming.encoder.MediaVideoEncoder.prepare(MediaVideoEncoder.java:94)
at me.lake.librestreaming.encoder.MediaMuxerWrapper.prepare(MediaMuxerWrapper.java:102)
at me.lake.librestreaming.ws.StreamLiveCameraView.startRecord(StreamLiveCameraView.java:161)
at com.wangshuo.wslive.wslivedemo.LiveUI.onClick(LiveUI.java:97)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5019)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
04-02 21:14:24.316 471-1574/system_process W/ActivityManager: Force finishing activity com.wangshuo.wslive.wslivedemo/.LiveActivity
04-02 21:14:24.326 471-485/system_process W/WindowManager: updateFocusedWindowLocked, focusedAppToken is null.
04-02 21:14:24.826 471-485/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{4a9d81d0 u0 com.wangshuo.wslive.wslivedemo/.LiveActivity t23 f}
04-02 21:14:24.856 648-648/com.vphone.launcher W/EGL_emulation: eglSurfaceAttrib not implemented
04-02 21:14:25.316 471-512/system_process W/NetworkManagementSocketTagger: setKernelCountSet(10039, 0) failed with errno -13
04-02 21:14:29.336 977-3409/com.google.android.gms W/PlatformStatsUtil: Could not retrieve Usage & Diagnostics setting. Giving up.
04-02 21:14:29.506 3354-3378/com.wangshuo.wslive.wslivedemo E/BufferQueue: [unnamed-3354-0] dequeueBuffer: time out and will free all buffer!
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/lwp.com.afun-MXBCRu72WouvJuzQKauj-g==/base.apk"],nativeLibraryDirectories=[/data/app/lwp.com.afun-MXBCRu72WouvJuzQKauj-g==/lib/arm64, /data/app/lwp.com.afun-MXBCRu72WouvJuzQKauj-g==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "librestreaming.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
at java.lang.System.loadLibrary(System.java:1669)
at me.lake.librestreaming.client.RESClient.(RESClient.java:525)
at me.lake.librestreaming.ws.StreamLiveCameraView.getRESClient(StreamLiveCameraView.java:59)
at me.lake.librestreaming.ws.StreamLiveCameraView.init(StreamLiveCameraView.java:73)
把本地的视频文(以rtmp流的形式推出去) , 有办法实现吗
可以给推流的视频加时间水印吗? 可以推流到自己的服务器吗?
拍照的时候 takeScreenShot 会有卡顿,求解
集成到项目中使用时,录制出来的视频无音频,并且录制十来秒,实际视频只有2秒
public boolean toggleFlashLight() {
synchronized (syncOp) {
try {
Camera.Parameters parameters = camera.getParameters();
List flashModes = parameters.getSupportedFlashModes();
String flashMode = parameters.getFlashMode();
if (!Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode)) {
if (flashModes.contains(Camera.Parameters.FLASH_MODE_TORCH)) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
return true;
}
} else if (!Camera.Parameters.FLASH_MODE_OFF.equals(flashMode)) {
if (flashModes.contains(Camera.Parameters.FLASH_MODE_OFF)) {
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
return true;
}
}
} catch (Exception e) {
LogTools.d("toggleFlashLight,failed" + e.getMessage());
return false;
}
return false;
}
}
我发现一个问题,横着拍的视频,也是竖着的
大佬,能做到屏幕旋转时切换录制方向(在不销毁Activity或者销毁对象重新推流的情况下)?
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
使用implementation 依赖的时候,运行找不到 librestreaming.so。把so库下载下来放到jniLibs目录下也不行
FATAL EXCEPTION: main
Process: com.wangshuo.wslive.wslivedemo, PID: 17274
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wangshuo.wslive.wslivedemo/com.wangshuo.wslive.wslivedemo.LiveActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void me.lake.librestreaming.core.RESHardVideoCore.setVideoFilter(me.lake.librestreaming.filter.hardvideofilter.BaseHardVideoFilter)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2439)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2499)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5441)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void me.lake.librestreaming.core.RESHardVideoCore.setVideoFilter(me.lake.librestreaming.filter.hardvideofilter.BaseHardVideoFilter)' on a null object reference
at me.lake.librestreaming.client.RESVideoClient.setHardVideoFilter(RESVideoClient.java:395)
at me.lake.librestreaming.client.RESClient.setHardVideoFilter(RESClient.java:314)
at me.lake.librestreaming.ws.StreamLiveCameraView.setHardVideoFilter(StreamLiveCameraView.java:214)
at com.wangshuo.wslive.wslivedemo.LiveActivity.initLiveConfig(LiveActivity.java:51)
at com.wangshuo.wslive.wslivedemo.LiveActivity.onCreate(LiveActivity.java:31)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
如果没有,我需要自己编译吗?怎么编译?
我现在横屏直播是画面被拉伸了,请问需要怎么修改,项目中需要横屏直播画面
我直接设置两个摄像头开推,程序闪退,暂没找到原因,能否看看怎么解决?
请教下作者移动端为什么不适合用ffmpe推流?有什么更好的替代方案吗?
作者你好
protected void drain() {
if (mMediaCodec == null) return;
ByteBuffer[] encoderOutputBuffers = mMediaCodec.getOutputBuffers();
mMediaCodec.getOutputBuffers() 这个会报
java.lang.IllegalStateException
at android.media.MediaCodec.getOutputBuffers(MediaCodec.java:2966)
at me.lake.librestreaming.encoder.MediaEncoder.drain(MediaEncoder.java:272)
at me.lake.librestreaming.encoder.MediaEncoder.run(MediaEncoder.java:135)
我是这样操作的 我点击开始推流 然后 在点 开始录像 就报 这样的错误了, 如果 单纯的点击录像是不会报错的 , 还有就是 开始录像 然后保存 录像 应该 isRecord 这个参数 在保存录像的时候点击一下就应该是false 了 为什么 还是要点2下 才是false
点击推流后 画面就会卡住 长时间也没有报anr
如何显示直播时间啊
这里只是获取到了推流,那如何播放推流呢?
你好,请问有没有,拉流播放端,谢谢
您好,进行rtmp推流过程中从Wifi网络切换到4G网络。如果做到续传。目前的问题是 切换到4G后 就没有进行推流了
up能简单说一下吗
画面只显示了录制,和恢复录制的画面。
大体看了一些介绍和demo 貌似暂时不支持手机屏幕推流。
java.lang.RuntimeException: Fail to connect to camera service
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.