All Projects → WangShuo1143368701 → Wslivedemo

WangShuo1143368701 / Wslivedemo

音视频,直播SDK,rtmp推流,录制视频,滤镜。百万用户,线上迭代半年,已经稳定。

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to Wslivedemo

Ios tips
iOS的一些示例,持续更新中:1、AVFoundation 高仿微信相机拍摄和编辑 2、AVFoundation 人脸检测、实时滤镜、音视频编解码、GPUImage框架的使用等音视频相关内容 3、OpenGLES 4、LeetCode算法练习 5、iOS Crash防护和APM监控 6、WKWebView相关的内容 等........
Stars: ✭ 896 (-49.72%)
Mutual labels:  opengl-es, gpuimage, camera
Librestreaming
Android real-time effect filter rtmp streaming library.using Mediacodec HWencoding&librtmp stream.
Stars: ✭ 856 (-51.96%)
Mutual labels:  opengl-es, gpuimage, rtmp
Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (-83.28%)
Mutual labels:  opengl-es, camera, rtmp
HaishinKit.kt
Camera and Microphone streaming library via RTMP for Android.
Stars: ✭ 70 (-96.07%)
Mutual labels:  camera, rtmp
TuSDK-for-Android-demo
TuSDK Android 图像 SDK Demo
Stars: ✭ 93 (-94.78%)
Mutual labels:  camera, gpuimage
PPlayer
ffmpeg 4.0.2静态库从0开始一个播放器的搭建,支持rtmp、rtsp、hls、本地MP4文件播放,音视频同步,直播推流
Stars: ✭ 81 (-95.45%)
Mutual labels:  rtmp, mediacodec
Haishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Stars: ✭ 2,237 (+25.53%)
Mutual labels:  camera, rtmp
Yasea
RTMP live streaming client for Android
Stars: ✭ 4,557 (+155.72%)
Mutual labels:  camera, rtmp
Gpuvideo Android
This library apply video filter on generate an Mp4 and on ExoPlayer video and Video Recording with Camera2.
Stars: ✭ 403 (-77.38%)
Mutual labels:  opengl-es, gpuimage
Rtmppublisher
Rtmp client on Android. Live Video Streaming.
Stars: ✭ 515 (-71.1%)
Mutual labels:  camera, rtmp
Xl player
A high performance Android media player, base on ffmpeg and MediaCodec, support VR video.
Stars: ✭ 126 (-92.93%)
Mutual labels:  opengl-es, rtmp
RtmpPublishKit
rtmp publish kit for android , encode with mediacodec
Stars: ✭ 106 (-94.05%)
Mutual labels:  rtmp, mediacodec
Ezfilter
A lightweight (<180KB), easy-to-extend Android filter and dynamic sticker framework for adding filters and stickers for camera, video, bitmap and view.(一个轻量级(<180KB)、易扩展的Android滤镜和动态贴纸框架,支持摄像头、视频、图片和视图添加滤镜和贴纸。)
Stars: ✭ 155 (-91.3%)
Mutual labels:  opengl-es, camera
Gpuimage X
A Cross-platform (for both Android & iOS) Framework for GPU-based Filters, Video and Image Processing.
Stars: ✭ 154 (-91.36%)
Mutual labels:  gpuimage, camera
Gpuhaishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS. Powered by GPUImage + HaishinKit.
Stars: ✭ 35 (-98.04%)
Mutual labels:  gpuimage, rtmp
Evilslive
This project is a SDK about video stream live
Stars: ✭ 420 (-76.43%)
Mutual labels:  camera, rtmp
Aquila
IPCamera, aim to support V4L2/UVC/RaspberryPi/Hisi/XXX SDK production
Stars: ✭ 173 (-90.29%)
Mutual labels:  camera, rtmp
Android Opengl Canvas
An Android library that provides views using openGL canvas to draw things on SurfaceView or TextureView.
Stars: ✭ 815 (-54.26%)
Mutual labels:  gpuimage, camera
Ksylive ios
金山云直播SDK [ iOS推流+播放 ]融合版 支持美颜滤镜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Audio Mixer)、混响(Reverb)、画中画(PIP)
Stars: ✭ 861 (-51.68%)
Mutual labels:  gpuimage, rtmp
Kontax Cam
Instant camera hybrid with multiple effects and filters written in Swift.
Stars: ✭ 69 (-96.13%)
Mutual labels:  gpuimage, camera

WSLiveDemo

直播SDK,推流,录制视频,滤镜。

博客教程:http://blog.csdn.net/King1425/article/details/79392158
交流群号:364886309 ,949792060

概述:

现在把我们项目中的直播SDK开源出来,我们是境外直播平台,百万用户,经过半年迭代,SDK已经相当稳定,大家可以放心使用。https://github.com/WangShuo1143368701/WSLiveDemo 这个sdk是我根据这个librestreaming修修改改出来的,由于改了太多的代码,用法已经不一样了。

之前写过一篇ffmpeg实战教程(十一)手把手教你实现直播功能,不依赖第三方SDK 是用ffmpeg实现的推流,但是在实际移动端直播项目中,推流是不适合用ffmpeg的。

特性:

支持视频录制和推流,推流录制视频可以同时进行
支持推流过程中实时截帧功能
支持推流过程中实时镜像功能,不会打断推流
支持设置关键帧间隔gop
支持动态设置码率,帧率
支持分开设置预览分辨率,编码的分辨率
支持gpu滤镜,并可以通过opengles绘制图像纹理来自定义滤镜。
支持设fbo滤镜组。
支持设置水印
支持前后摄像头快速切换,不会打断推流。
支持后台推流,后台录制视频
美颜滤镜可动态调节磨皮,美白,红润。
兼容GPUImage,一行代码不用修改就可以直接使用GPUImage的滤镜。可参考demo。

关于美颜:

美颜滤镜可动态调节磨皮,美白,红润。你可以调出一个你喜欢的美颜滤镜。

关于截帧,镜像:

推流过程中可以实时截帧。
推流过程中可以实时调节镜像,不会打断推流。可以分别调节预览镜像,推流镜像。

关于性能:

采用相机回调纹理texture,OpenGL渲染后直接把textureID传给编码器的方案,中间没有数据格式转换,没有glReadPixel()函数耗时问题。所以性能较其它方案要好的多。缺点是必须是Android4.3以上。

关于拉流:

https://github.com/WangShuo1143368701/WS_IJK 优化过的IJK播放器,秒开实现,推流端断网回调等。。。

关于使用:

1.所有常用API都在StreamLiveCameraView类中

 <me.lake.librestreaming.ws.StreamLiveCameraView
        android:id="@+id/stream_previewView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

2.初始化推流配置, StreamAVOption类里面有多种参数可配置,如不配置则使用默认值

    /**
     * 设置推流参数
     */
    public void initLiveConfig() {
        mLiveCameraView = (StreamLiveCameraView) findViewById(R.id.stream_previewView);

        //参数配置 start   
        streamAVOption = new StreamAVOption();
        streamAVOption.streamUrl = rtmpUrl;
        //参数配置 end

        mLiveCameraView.init(this, streamAVOption);
        mLiveCameraView.addStreamStateListener(resConnectionListener);
        //设置滤镜组
        LinkedList<BaseHardVideoFilter> files = new LinkedList<>();
        files.add(new GPUImageCompatibleFilter(new GPUImageBeautyFilter()));
        files.add(new GPUImageCompatibleFilter(new GPUImageAddBlendFilter()));
        mLiveCameraView.setHardVideoFilter(new HardVideoGroupFilter(files));
    }

3.开始推流录制 具体参考demo:

          case R.id.btn_startStreaming://开始推流
               if(!liveCameraView.isStreaming()){
                   liveCameraView.startStreaming(rtmpUrl);
               }
               break;
           case R.id.btn_stopStreaming://停止推流
               if(liveCameraView.isStreaming()){
                   liveCameraView.stopStreaming();
               }
               break;
           case R.id.btn_startRecord://开始录制
               if(!liveCameraView.isRecord()){ 
                   liveCameraView.startRecord();
               }
               break;
           case R.id.btn_stopRecord://停止录制
               if(liveCameraView.isRecord()){
                   liveCameraView.stopRecord();                
               }

关于集成:

方法1.https://github.com/WangShuo1143368701/WSLiveDemo下载后,copy出libWSLive库到你的项目中即可。

方法2.

//Add it in your root build.gradle at the end of repositories:
 
 allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
 }

    //Add the dependency

   dependencies {
	         compile 'com.github.WangShuo1143368701:WSLiveDemo:v1.7'
	}

关于学习:

欢迎加入音视频交流群:364886309,949792060

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].