音视频
文章平均质量分 86
runner365.git
将程序进行到底。。。。。。
展开
-
cpp_media_server开始支持metaRTC
一. cpp_media_server开始支持metaRTCMetaRTC是一个为嵌入式/物联网打造的webRTC库,为第三代互联网 元宇宙提供webRTC能力。MetaRTC实现了webrtc协议,支持webrtc/srt/rtmp,有纯C和C++两个版本。cpp_media_server是基于c++11开发的webrtc会议服务sfu,网络部分基于Boost.Asio。cpp_media_server开始支持MetaRTC客户端,MetaRTC提供window/android/linux的nat原创 2022-05-04 21:04:39 · 918 阅读 · 2 评论 -
webrtc的WHIP实现
WHIP接口1. 什么是whip全称: WebRTC-HTTP ingestion protocol (WHIP).rfc地址: rfc-draft-murillo-whip-00简单说,就是通过HTTP接口能导入webrtc媒体流。2. webrtc publish/unpublish2.1 webrtc publishwebrtc推流接口方法: http posturi: http://hostname:hostport/publish/roomId/uidhttp post bod原创 2022-05-03 11:36:49 · 2155 阅读 · 0 评论 -
RTP纠错机制精选翻译
9. 纠错机制9.1 前向纠错(FEC) 前向纠错(FEC)算法能让二进制流在传输过程中保持健壮性。传送大量二进制流在松散的媒介或网络下。额外的信息会加在二进制流中,能让接受者正确的重构在传输中丢失的数据。前向就戳算法主要应用在广域网,如手机网络、或包交换网络、或存储系统(如压缩盘、电脑硬盘或内存)。因为因特网是一个松散的媒介,因为媒体应用的信息对丢失非常敏感,FEC方案就被提议和编程R...原创 2020-04-19 21:53:52 · 706 阅读 · 0 评论 -
RTCP关键协议翻译
原版英文书链接(RTP:Audio and video for the internet.pdf)RTP协议比较简单,因此从第5章节RTCP开始。5.1 RTCP的组件 一个RTCP的应用有3个部分: 报文结构、时间规则,和参与者数据库。有几种类型的RTCP报文。5种标准的报文类型会在5.3 RTCP报文格式中描述,并随后附有报文集成放入复合报文中被发送。验证RTCP报文正确性的算法会在...原创 2020-04-19 21:48:19 · 1389 阅读 · 0 评论 -
SRT协议翻译
SRT协议srt是基于UDT传输协议,是用户级别的协议,其保留UDT的核心思想和机制,但是做了多项改进,包括控制报文的修改,针对直播流改进了流控,改进了拥塞算法,报文加密算法。本文介绍srt协议本身。更多的相关实现在:https://github.com/Haivision/srt简介srt传输协议为不可靠网络提供安全,可靠的数据传输,如因特网。任何数据都可以在srt协议上传输,特别是对音视...原创 2020-04-19 21:40:07 · 2407 阅读 · 0 评论 -
Quic_Wire_layout_specification_翻译
英文原文链接:QUIC wire specificationQUIC概述 本节我们主要介绍QUIC的关键功能和优点。QUIC功能上等于TCP+TLS+HTTP/2,但是基于UDP传输的。QUIC优于TCP+TLS+HTTP/2的关键点有:connect连接建立的低延时灵活的拥塞控制无头部阻塞的多路复用(TCP是有头部阻塞的)对头部和负载进行认证和加密流和连接的流控连接迁移c...原创 2020-04-19 21:05:37 · 354 阅读 · 0 评论 -
rtmp_specification_1.0翻译
英文原文: rtmp_specification_1.0.pdf5 RTMP Chunk Stream5.1 消息格式(Message Format)5.2 握手协议(Handshake)5.2.1 握手顺序5.2.2 C0和S0格式5.2.3 C1和S1格式5.2.4 C2和S2格式5.2.5. Handshake图解5.3 Chunking5.3.1 Chun...原创 2020-04-19 20:39:01 · 601 阅读 · 1 评论 -
SRT Encoder基于srt自适应码率的编码器
SRT Encodersrt encoder是基于srt发送的测试工具。基于srt协议中的rtt,maxBw,inflight等信息预测低延时的出口带宽,动态的调整编码bitrate,从而实现基于网络出口带宽的svc编码。1. 原理基于bbr基本拥塞控制算法,通过一个周期内(1~2seconds)的minRTT, maxBw, 和当前的inflight,预测出编码bitrate的状态机(保...原创 2020-02-09 17:06:29 · 4657 阅读 · 1 评论 -
SRT直播地址格式简介
SRT直播地址格式简介介绍srt在live模式下如何构造推/拉流地址。rtmp常规地址格式rtmp地址格式简介常规rtmp格式(无vhost) rtmp://hostip:port/appname/streamname 例子: rtmp://10.111.1.100:1935/live/livestream 上面例子中appname=“live”, streamname=“liv...原创 2020-02-06 21:04:37 · 7689 阅读 · 0 评论 -
SRS开始支持SRT
为什么我要开始着手SRT为什么我觉得SRT有趣?我们知道RTMP是公共互联网上直播视频的事实标准;但RTMP已经存在了很长一段时间,其标准在2012年最后一次更新过后就被放弃了。新的Codec标准诸如HEVC或AV1一般都没有RTMP标准支持。退一步来说,即使有人在RTMP中hack了这些Codec的支持,在移动网络上RTMP仍然工作的不大好。SRT作为RTMP潜在替换技术的一种,最近正获得不...原创 2020-01-25 22:49:36 · 4795 阅读 · 6 评论 -
ffmpeg转码过程中的dts转换过程
ffmpeg转码过程中的dts转换过程用ffmpeg api开发转码,在过程:拉流–>avfilter分辨率缩放,重采样–>编码–>写出,avpacket.dts和frame.dts在过程中需要根据不同的timebase进行转换。一,拉流在 av_read_frame后得到AVPacket packetAVPacket packet;int ret_i = av_r...原创 2019-05-24 10:40:51 · 3654 阅读 · 0 评论 -
rtmp over quic直播服务--mediago
mediagomediago的github地址: https://github.com/runner365/mediago_bin1. 什么是mediagoquic是基于udp的下一代高质量传输协议。mediago用quic协议来传输rtmp直播流。mediago在实现普通rtmp over tcp的基础上,同时实现rtmp over quic的服务,提供弱网环境下/高RTT等网络环境下的...原创 2019-05-30 09:34:08 · 4700 阅读 · 0 评论 -
RTCP(二): SR--Sender Reports 接收者报告
一. 前言发送rtp报文端向接受者发送SR报文,主要目的是方便接收方做好音视频同步工作。二. RTCP SR格式发送者报告SR,其RTCP类型payload type是200。主要信息共24bytes,也就是6 words,如图2.1 图2.12.1 NTP timestampNTP timestam...原创 2018-02-21 22:47:19 · 6925 阅读 · 0 评论 -
RGB数据写bmp图片文件遇到的这些坑
RGB数据写bmp图片文件遇到的这些坑原创 2016-09-12 19:03:33 · 6949 阅读 · 4 评论 -
安卓直播开源: RTMP 推流SDK
了android直播推流SDK,在github上开源出来。1,支持市面上绝大部分的rtmp服务器nginx-rtmp,SRS,RED5等2,视频用软编,兼容性好市面上的一些android rtmp推流sdk用的是android中mediacodec来进行,但是有两个缺点:1,mediacodec这个类在android4.1以后才支持,之前的版本就没法用;2,mediacodec这个类是硬件编码,需要手机厂家支持,很多厂家支持的情况都不一样,手机的失败是个大的问题。这里我采用软编,原创 2016-08-11 08:57:43 · 15212 阅读 · 7 评论 -
通过RTMP play分析FLV格式详解
通过RTMP play分析FLV格式详解最近做了一个rtmp中转服务程序,通过实践,熟悉rtmp play和push中各类格式,这里总结一下。原创 2016-08-12 11:07:51 · 1306 阅读 · 0 评论 -
python如何调用C, 如何注册成C的回调函数(python后台程序常用方法)
其实是python后台程序常用方法:C开发完成底层的功能,python直接把C当做python模块进行调用。原创 2016-09-27 11:24:13 · 11484 阅读 · 2 评论 -
[ffmpeg]avfilter的那些坑:如何用drawtext在linux系统中开发实现中文字幕
最近在做ffmpeg的avfilter开发,从编译到,编码和运行,遇到了好多坑,这里总结一下!原创 2016-10-08 13:32:34 · 18893 阅读 · 1 评论 -
rtp的视频和音频格式初步分析(golang解析)
rtp视频、音频格式解析一、rtp承载h264解析rtp承载h264的解析当前实现了两种方式:StapA和FuA NALU头由一个字节组成,它的语法如下: * F: 1个比特. forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0. * NRI: 2个比特. nal_ref_idc. 取00~11,似乎指示这个NALU的重原创 2017-09-23 19:56:21 · 11060 阅读 · 0 评论 -
ffmpeg常用编码参数含x264
ffmpeg常用编码参数原创 2017-12-13 13:04:57 · 2216 阅读 · 0 评论 -
常用音视频头的写法
一、如何判断视频I_FRAMEbool IsH264IFrame(unsigned char data) { const unsigned char SPS_TYPE = 7; const unsigned char PPS_TYPE = 8; const unsigned char IDR_TYPE = 5; unsigned char nal原创 2018-01-26 18:13:05 · 622 阅读 · 0 评论 -
ffmpeg写rtmp推流中的坑:sps/pps和aac header的首包发送
1、需要在编码中使能CODEC_FLAG_GLOBAL_HEADERAVCodecContext的flags |= CODEC_FLAG_GLOBAL_HEADER设置这个标志位后,才能在AVCodecContext中的extradata和extradata_size得到对应的音视频头信息。视频: AVCDecoderConfigurationRecord+ sps + pps原创 2018-01-26 18:30:26 · 8925 阅读 · 2 评论 -
RTCP(一): RR--Receiver Reports 接收者报告
RTCP RR的格式接受者报告的RTCP类型是201,如图1.1所示。 图1.1 reporter ssrcrr报告发送者的ssrc,也就是rtp报文接受者自己的ssrc.reportee ssrcrr报告接受者的ssrc,也就是rtp报文发送者的ssrc.cumulative number of packet lost累积报文丢失总数,该字段是一个24...原创 2018-02-19 22:10:41 · 13587 阅读 · 2 评论 -
ffmpeg编译常规大全
ffmpeg常规编译,外带x264, lamemp3, aac, rtmp等原创 2016-08-17 16:12:45 · 663 阅读 · 0 评论