Giter VIP home page Giter VIP logo

yangwebrtc's Introduction

yangrtc(metaRTC) Overview

yangrtc实现了webrtc协议,支持webrtc/srt/rtmp,提供纯C和C++两种版本接口。
webrtc支持为原创,没有引用谷歌webrtc代码,可与谷歌Webrtc库和浏览器互通。
支持windows/linux/android等
webrtc实现基于metaRTC https://github.com/metartc/metaRTC

Remark:metaRTC3.0/metaRTC4.0等停止更新,推荐使用稳定版metaRTC5.0
Remark:metaRTC5.0为稳定版本

metaRTC服务微信群

可加微信taihang82

Learning metaRTC 教程

https://github.com/metartc/metaRTC/wiki/metaRTC-Learning

metaRTC5.0稳定版本下载

https://github.com/metartc/metaRTC/releases/tag/v5.0-b5

纯C版IPC第三方库下载

https://github.com/metartc/metaRTC/releases/tag/v5.0-b1

metaRTC5.0 API

https://github.com/metartc/metaRTC/wiki/metaRTC5.0-API
https://github.com/metartc/metaRTC/wiki/metaRTC5.0-API-Sample

MetaRTC和谷歌Webrtc的区别

MetaRTC编译简单

webrtc编译难,仓库几十个G。

metaRTC代码量小,编译简单。

而metartc在B站有完整的编译教程和视频。

体积小

webrtc使用c++开发,体积大,不适合嵌入式。

metartc大多数使用c语言开发,天生适合嵌入式。

容易二次开发

webrtc是谷歌开发,代码量大,二次开发难度大。

meta代码量小,二次开发难度小,并且有完整的国人社区。

打造国人生态

metaRTC无缝兼容SRS和ZLM,代码整合了其信令交互。

metaRTC已经实现了国密gmssl支持 。

metaRTC实现了对龙芯的支持,将来将支持更多的国产芯片。

更适合嵌入式/物联网

嵌入式算力弱,不适合webrtc

嵌入式开发人员纯C开发人员多

更适合元宇宙RTC

第三代互联网为元宇宙

支持元宇宙的穿戴设备算力弱,更适合metaRTC

提供H265全套解决方案

H265比H264可以节省一半的带宽,H265生态在国内比较成熟,如安防等很多行业芯片都支持H265编码。

metaRTC支持H265版webrtc

metaRTC提供支持H265的SRS(http://github/metartc/srs-webrtc265)

内置纯C版信令服务

metap2p工程内置信令服务,信令处理均为纯C实现。

支持datachannel/websocket/http

集成ffmpeg 支持静态编译集成到ffmpeg

集成ffmpeg使ffmpeg支持webrtc推拉流和p2p

metaRTC集成FFmpeg新版本支持回声消除等AEC/AGC/ANC功能

metaRTC功能

  1. video encoding 8bit:x265, vaapi, nvenc, etc。
  2. video encoding 10bit:x265、vaapi、nvenc,etc。
  3. video decoding:ffmpeg or yangh264decoder。
  4. VR:基于抠图实现虚拟视频的互动和录制、直播等。
  5. 8bit和10bit网络播放器:yangplayer
  6. audio:Opus、Aac、Speex、Mp3 and other audio codecs。
  7. audio:AEC、AGC、ANS and SOUND SYNTHESIS 声音合成等处理。
  8. transport:webrtc、rtmp、srt,webrtc is non-google lib。
  9. live:rtmp、srt、webrtc、HLS、HTTP-FLV。
  10. 8bit recording:hh264, h265 mp4 and flv。
  11. 10bit recording:h265 mp4
  12. screen sharing and control 实现了屏幕共享与控制。
  13. a variety of processing of sound and images is realized 实现了声音和图像多种处理。
  14. professional camera gimbal control with multi-lens guide switching 专业摄像头的云台控制与多镜头导播切换。
  15. supports both 32-bit and 64-bit programming 支持32位和64位编程。

应用范围

音视频应用: 视频会议/录播直播/直播互动 IPC/云游戏/云3D/元宇宙RTC

行业应用: 远程教育/远程医疗/远程办公 指挥调度/安防监控/金融 视频AI/影视录播/电商直播

P2P支持

可内置信令服务
实现一对多直播
实现浏览器p2p通信
实现双向对讲和会议

支持多种传输协议

metaRTC4.0支持WEBRTC/RTMP/SRT/

metaRTC5.0将支持RTSP/GB2811/QUIC

ARM支持

支持ARM-Linux
支持ARM-Android
提供ARM编译脚本
提供第三方ARM编译文档

module

libmetartccore

webrtc/rtmp 协议实现和基础应用C类库,可集成到ffmpeg
如果平台已有采集和编解吗,只需要libmetartccore即可,不需要libmetartc

libmetartc

实现采集、编码、解码、传输(SRT实现)以及推拉流等实现

metapushstream/metapushstream_android

推流和录制 demo metapushstream3_android为安卓版

metaplayer/metaplayer_android

拉流demo,metaplayer_android为安卓版

metap2p

p2p demo,支持一对一和一对多,metaplayer3可直接从metap2p拉流
和metapushstream与metaplayer不同,metap2p支持全双工,即一个连接同时支持推拉流

yangwincodec

nvidia/intel gpu编码

rtmp支持和录制mp4

修改配置文件include/yang_config.h 设置Yang_Enable_Openh264为0
修改配置文件yang_config.ini enc项 createMeta=1
或者程序设置m_context->avinfo.enc.createMeta=1

demo compile

linux

sudo apt install libasound2-dev
sudo apt install libgl1-mesa-dev

yangwebrtc's People

Contributors

yangrtc 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

yangwebrtc's Issues

webRTC推流部分

看了下项目大概结构,webRTC的推流实现部分是封在libYangAVLib2.a库里吗?

libplayer.so', missing and no known rule to make it

HI 大家编译的时候是否遇到这个问题

IDE:Android Studio Giraffe | 2022.3.1 Patch 2
JAVA: JetBrians Runtime Version 17.0

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.

Build command failed.
Error while executing process /Users/aiquantong/Library/Android/sdk/cmake/3.18.1/bin/ninja with arguments {-C /Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/.cxx/Debug/4753253o/arm64-v8a player}
ninja: Entering directory `/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/.cxx/Debug/4753253o/arm64-v8a'

ninja: error: '/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/bin/lib_android/arm64-v8a/libmetartc5.a', needed by '/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/build/intermediates/cxx/Debug/4753253o/obj/arm64-v8a/libplayer.so', missing and no known rule to make it

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    ==============================================================================

2: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':app:buildCMakeDebug[x86_64]'.

Build command failed.
Error while executing process /Users/aiquantong/Library/Android/sdk/cmake/3.18.1/bin/ninja with arguments {-C /Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/.cxx/Debug/4753253o/x86_64 player}
ninja: Entering directory `/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/.cxx/Debug/4753253o/x86_64'

ninja: error: '/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/bin/lib_android/x86_64/libmetartc5.a', needed by '/Users/aiquantong/Documents/AndroidOpenSource/yangwebrtc/metaplayer5_android/app/build/intermediates/cxx/Debug/4753253o/obj/x86_64/libplayer.so', missing and no known rule to make it

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    ==============================================================================

  • Get more help at https://help.gradle.org

BUILD FAILED in 6s

您好!可以提供一个demo项目吗

我这里配置这个项目有点问题
目前发现需要将.pro文件中的HOME_BASE设置为主目录的绝对路径才行
看readme中的说法,我先运行lib项目,再运行player项目,输入rtmp的链接,程序会crash掉。
之后我将预编译的dll库移入bin中程序表现正常了些。
另外需要将UI的大小拉大,才会有许多的运行代码提示,否则也是会crash掉。尽管有许多提示,但是最后也是crash,有点迷惑了。
环境搭建有些吃力,希望博主给个运行demo!

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.