yangwebrtc is a self-developed rtc architecture supporting Webrtc/Srt/Rtmp, including a variety of video and audio codecs and processing, etc.

Related tags

Video rtmp webrtc srt
Overview

YangWebrtc Overview

yangwebrtc是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。

支持视频会议、高清录播直播、直播互动等多种视音频应用。
可用于远程教育、远程医疗、指挥调度、安防监控、影视录播、协同办公、直播互动等多种行业应用。
webrtc支持为自主研发,非谷歌lib,兼容webrtc协议 ,可与谷歌Lib和浏览器互通
支持Srs sfu https://github.com/ossrs/srs/
支持Linux/Windows操作系统,android/ios/mac版本正开发中

视频会议高清录播等应用系统

已经移到https://github.com/yangrtc/yangrtc

yangwebrtc功能

1、视频编码 8bit:x264、x265、vaapi、nvenc等,二期增加AV1和多种硬件编码。
2、视频编码 10bit:x265、vaapi、nvenc等。
3、视频解码:ffmpeg和yangh264decoder。
4、VR:基于抠图实现虚拟视频的互动和录制、直播等。
5、8bit和10bit网络播放器:yangplayer
6、音频:Opus、Aac、Speex、Mp3等音频编解码。
7、音频:AEC、AGC、ANS及声音合成等处理。
8、传输:webrtc、rtmp、srt,webrtc为自己实现,没使用谷歌lib库。
9、直播:rtmp、srt、webrtc、HLS、HTTP-FLV。
10、8bit录制:h264、h265的mp4和flv。
11、10bit录制:h265的mp4
12、实现了屏幕共享与控制。
13、实现了声音和图像多种处理。
14、专业摄像头的云台控制与多镜头导播切换。
15、64位编程,不支持32位。

目录简介

libyangrtc2

yangwebrtc基础类库,实现所有核心功能

yangpushstream2

webrtc推流系统demo

yangplayer2

webrtc拉流播放系统demo

yangwebrtc3.0规划

1、支持android/ios/mac等。
2、webrtc支持h265、av1等。
3、传输加密支持国密加密,修改srtp支持国密。
4、实现10位、16位全链路打通,从采集、编码、传输、解码、播放这些环节全部支持10/16位。

Getting Started

Remark: Yangwebrtc2.0 is developing and not stable.

下载源码,推荐ubuntu或者win10

git clone https://github.com/yangrtc/yangwebrtc.git

服务器部署

启动服务程序,目前暂时支持Srs4.0.146及以上版本,下载编译参考http://github.com/ossrs/srs#usage

srs4.0.146下载地址

https://github.com/ossrs/srs/releases/tag/v4.0.146

​ objs/srs -c conf/https.rtc.conf

客户端编译

编译教程视频

https://www.bilibili.com/video/BV1d3411r742/
https://github.com/yangrtc/yangrtc2/releases/tag/2.0.032_video

用QT(推荐5.14.2及以上版本)打开工程libyangrtc2、yangpushstream2、yangplayer2 ,如需改动目录将其.pro文件中HOME_BASE=..\更改为所需目录。
QT下载地址:https://download.qt.io/archive/qt/5.14/5.14.2/
静态库需要三个,ssl/crypto/srtp2,目录里已经有编译好的,如果有问题请再编译新的, 然后顺序编译即可。
Remark:ubuntu默认不支持opengl sudo apt-get install libgl1-mesa-dev

第三方系统lib

https://github.com/yangrtc/yangwebrtc/releases/tag/thirdparty2.0
编译后的二进制文件在当前bin目录下

debug目录

linux:bin/app_debug bin/lib_debug
windows:bin/app_win_debug bin/lib_win_debug

release目录

linux:bin/app_release bin/lib_release
windows:bin/app_win_release bin/lib_win_release

**remark:程序需要一些动态库才能运行,所需动态库在lib文件夹里,lib文件夹在runtime包中 **
**remark:如用qt调试,需将yang_config.ini和lib目录copy到debug和release目录下 **
yang_config.ini和lib目录下载链接:https://github.com/yangrtc/yangwebrtc/releases/tag/2.0-runtime

windows qt debug dlls

图片

windows lib dlls

图片

linux lib so

图片

编译后生成可执行文件放入下载的运行环境即可运行

视频会议YangMeeting2.0编译

https://github.com/yangrtc/yangwebrtc/wiki/YangMeeting-Getting-Started

第三方系统源码

https://github.com/yangrtc/yangwebrtc/releases/tag/thirdparty2.0

里面不包含支持vr动态库,如需支持vr,下载opencv3

https://github.com/opencv/opencv/releases/tag/3.4.13 及以上版本

yang_config.ini配置参数https://github.com/yangrtc/yangrtc/wiki/config_file

yangwebrtc服务群

yangwebrtc1

You might also like...
Minimalist video maker -- simplify your music score video making process!

VisualScores 极简视频制作程序,简化你的乐谱视频制作! 如果需要编译,请解压 lib 文件夹中压缩包。 使用前请参考 manual 文件夹中的用户手册。 请勿修改、移动或删除 resource 文件夹中的任何文件。 VisualScores Minimalist video maker

A WFH utility to visually indicate user engagement of audio and video
A WFH utility to visually indicate user engagement of audio and video

DIY: In meeting indicator - WFH Utility The need for in meeting indicator at home So many of you have gotten accustomed to work from home by now. This

NymphCast is a audio and video casting system with support for custom applications.
NymphCast is a audio and video casting system with support for custom applications.

NymphCast is a software solution which turns your choice of Linux-capable hardware into an audio and video source for a television or powered speakers. It enables the streaming of audio and video over the network from a wide range of client devices, as well as the streaming of internet media to a NymphCast server, controlled by a client device.

theora-player is an embeddable theora video player C++ library based on the libtheora sample. It has no audio support at this moment.

theora-player Description theora-player is an embeddable theora video player C++ library based on the libtheora sample. It has no audio support at thi

Dolby AC-4 Audio & ATSC 3.0/HEVC Video Playback
Dolby AC-4 Audio & ATSC 3.0/HEVC Video Playback

VideoPlayer Qt+ffmpeg+SDL2+Dolby+AC-4+AC4+HEVC+ATSC3.0+4K+video This is a fork of the video player found here: https://github.com/yundiantech/VideoPla

ffmpeg supporting EVC codec and file formats.

ffevc ffmpeg supporting EVC codec and file formats. MPEG-5 Essential Video Coding (EVC) integration with FFmpeg project. It is supported under Linux a

Olive is a free non-linear video editor for Windows, macOS, and Linux.
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

SortNode is a JS binding for SORT: Simple, online, and real-time tracking of multiple objects in a video sequence.

SortNode is a JS binding for SORT: Simple, online, and real-time tracking of multiple objects in a video sequence.

ScanNet is an RGB-D video dataset containing 2.5 million views in more than 1500 scans, annotated with 3D camera poses, surface reconstructions, and instance-level semantic segmentations.

ScanNet is an RGB-D video dataset containing 2.5 million views in more than 1500 scans, annotated with 3D camera poses, surface reconstructions, and instance-level semantic segmentations.

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

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

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

    opened by ThomasWind333 3
Releases(5.0.099)
Owner
null
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

ossrs 20.4k Jan 5, 2023
Yangwebrtc - Webrtc Libary for PC, non-google lib

MetaRTC(yangwebrtc) Overview MetaRTC(yangwebrtc)是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。 yangwebrtc为PC版本 metaRTC为嵌入式版本 https://github.com/metar

meta 331 Dec 27, 2022
media server based on c++11, support webrtc/rtmp/httpflv/websocket flv

cpp_media_server A media server is writen by C++11, and the network io is writen by Boost.Asio. It support rtmp/httpflv/websocket(flv)/webrtc. preinst

Alex.CR 139 Jun 30, 2022
Video stabilization is a software-based approach in real-time to eliminating environmental effects (wind, heavy vehicle etc.) and enhance the visual performance that degrade video streaming quality.

Video Stabilization Contents General Info Installation To Do General Info Video stabilization is a software-based approach in real-time to eliminating

null 7 Nov 23, 2022
Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content.

This project is a Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content. The application decodes the h.264/5 compressed content using an HW accelerated decoder, the decoded YCbCr frames are processed with Vulkan Graphics and then presented via the Vulkan WSI.

NVIDIA DesignWorks Samples 132 Dec 15, 2022
Pear - WebRTC Toolkit for IoT/Embedded Device

Pear is a WebRTC SDK written in C. The SDK aims to integrate IoT/Embedded device with WebRTC applications.

null 581 Jan 2, 2023
webrtc c++ library for mediasoup with full sfu c++ demo

项目说明: 本项目是基于mediasoup v3 版本 webrtc m84版本 的sfu的js版本修改成的c++版本,支持和js版本一样的完整demo功能,但是本项目是直接把worker进程代码集成 到了demo可以直接代码级别的调用,支持VC2019,xcode,CLion的开发环境,可以直接断

null 119 Dec 20, 2022
A homebrew software suite for video game consoles developed to help in the evaluation of upscalers, upscan converters

A homebrew software suite for video game consoles developed to help in the evaluation of upscalers, upscan converters, line doublers and of course TV processing of 240p video. The Wii and Dreamcast versions have modes for 480i and 480p evaluation as well.

Artemio Urbina 117 Dec 31, 2022
Vireo is a lightweight and versatile video processing library written in C++11

Overview Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems an

Twitter 875 Jan 2, 2023
OpenShot Video Library (libopenshot) is a free, open-source C++ library dedicated to delivering high quality video editing, animation, and playback solutions to the world

OpenShot Video Library (libopenshot) is a free, open-source C++ library dedicated to delivering high quality video editing, animation, and playback solutions to the world

OpenShot Studios, LLC 936 Jan 4, 2023