随笔分类 - 音视频
摘要:解封装涉及到很多接口的调用 AVFormatContext: 初始化格式上下文,由 avfomat_alloc_output_context2(&oc, NULL, NULL, filename) 赋值 作用:用于封装和解封装的核心数据结构是 AVFormatContext,它包含所有关于正在读取或
阅读全文
摘要:HLS、HTTP+FLV 和 DASH 是三种常见的流媒体传输协议,它们在技术实现、使用场景和优缺点方面都有显著的区别。以下是对它们的关系和区别的详细解释,以及当前最流行的流媒体传输协议的讨论。 HLS(HTTP Live Streaming) 开发者: 由 Apple 开发。 工作原理: 将视频切
阅读全文
摘要:1. 在 Ubuntu 22.04 64位上编译 FFmpeg-0.6.3 时,使用 ./configure 配置时遇到如下错误 ffserver.c: In function ‘rtsp_cmd_describe’: ffserver.c:2987:5: error: implicit decla
阅读全文
摘要:1. H.264 和 H.265 区别 参考:https://winddoing.github.io/post/4a8fdf27.html
阅读全文
摘要:最近线上 PK 偶然出现双方主播互相听不见声音的情况,在日志不能明确体现问题时,就需要抓下主播本地的音频和远端的音频来确定数据是在哪消失的 所以我们用到一个比较简单的流写出的标准库类:std::ofstream 通过 std::ofstream 类,可以创建一个用于写入文件的输出流对象,可以将数据写
阅读全文
摘要:给一段音频数据,计算它的样本数 假设一双声道的音频数据为 buffer,buffer 大小为 buffer_size,采样位数为 16 位(一般都是 16),一个采样点占 2 个字节 也就是说这样的音频流在内存中的排列是这样的, 左声道和右声道各占两个字节(4个字节代表一个双声道),假设 buffe
阅读全文
摘要:视频数据: 分辨率为 1920 x 1080,每秒 30 帧的原始 RGB 视频数据,1 秒的数据量约为 1.4Gb,也就是 1.4Gbps 的码率 1920*1080*8*3 = 49766400 bit (8: 一个字节中的 8bit,3: RGB 的 3 个字节)该结果是指每帧的数据量,单位:
阅读全文
摘要:有用户反馈连麦时,直播间会有电流声,后面排查发现是 webrtc 内部播放器渲染音频时,用户的播放设备不支持 48000hz 采样率(我们传输的音频采样率都是 48000hz),导致音频数据受损而出现电流音 详细过程: 用户本地的混音是通过 webrtc 内部的回调拿到的,而用户的播放设备不支持 4
阅读全文
摘要:官方的解释 “Cronet is the networking stack of Chromium put into a library for use on mobile. This is the same networking stack that is used in the Chrome b
阅读全文