
音视频
SoLucky2017
这个up主有点懒,懒上青天
展开
-
搭建SRS推流服务器[webRTC]
https://github.com/ossrs/srs目前SRS对WebRTC的支持进度如下:SRS4.0.14,支持了RTMP推流,WebRTC播放。 SRS4.0.76,支持了WebRTC推流,WebRTC播放。 开发中,WebRTC推流,RTMP播放。相关Wiki(会在开发完成后完善):v4_CN_RTCWiki v4_EN_RTCWikihttps://www.jianshu.com/p/acb4f2af44b5下载代码:wget https://gith...原创 2021-03-19 15:12:49 · 1205 阅读 · 0 评论 -
如何按分别率清晰度来计算视频流量?720P 对应按分钟768M
如何计算视频流量,视频的大小就是观看视频时产生的流量吗?首先,我们要理清一个概念,流量是什么?流量是单位时间内收发的数据包的数量。也就是说在我们观看视频的时候,流量就随之而来。如何计算流量呢?有这么一个简单的计算公式:流量(kb)=观看视频时长(s)*当前视频码率(kbps)/8,同一个视频不同清晰度,即不同的码率所产生的流量大小是不一样的,那么视频有多少种码率呢,他们的对应关系是怎么样的呢?视频按照分辨率可以分为200P、360P、720p、1080i、1080P等几种格式。通俗来讲,36原创 2020-12-11 10:24:51 · 19394 阅读 · 0 评论 -
fs rtmp
https://blog.youkuaiyun.com/envon123/article/details/76586712https://blog.youkuaiyun.com/oFengXin/article/details/68923867?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-t原创 2020-12-10 18:14:25 · 106 阅读 · 1 评论 -
rtmp与hls
前言随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼。想要做一个直播业务,主要包括三个部分:采集推流端、流媒体服务端、播放端。这里不多说,就主要结合 iOS 平台,从观看端出发,介绍一下对直播协议的选择。通常在 iOS 平台做直播业务,会有两种协议可供选择:HLS 和 RMTP。HLS,是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统,.原创 2020-11-25 18:14:44 · 756 阅读 · 0 评论 -
理解RTMP、HttpFlv和HLS的正确姿势
第一、是什么?解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。同时,也有着它自身的局限。这三个协议的背后,有着一段凄美的爱情故事。我说说,你听听,在想当初….千禧年的钟声敲响了,人们迈进了一个新的世纪。当时的移动和联通还不能互发信息,手机是什么样咱们心里也多少有点儿数。就在这样的环境里,就在这样一个网络生存条件下,一小撮内心躁动的人开始不安了!它就是Macromedia。Macromedia对,就是它。不知.原创 2020-11-25 18:01:56 · 912 阅读 · 0 评论 -
IPB帧编码顺序(解码顺序)与显示顺序
IPB帧编码顺序(解码顺序)与显示顺序仅仅使用前一个显示的基准帧来编码的帧被称为“P帧”,同时使用前一个显示帧和未来帧作为基准帧进行编码的帧称为“B帧”。在通常的场景中,编解码器编码一个I帧,然后向前跳过几个帧,用编码I帧作为基准帧对一个未来P帧进行编码,然后跳回到I帧之后的下一个帧。编码的I帧和P帧之间的帧被编码为B帧。之后,编码器会再次跳过几个帧,使用第一个P帧作为基准帧编码另外一个P帧,然后再次跳回,用B帧填充显示序列中的空隙。这个过程不断继续,每12到15个P帧和B帧内插入一个新的I帧。例如原创 2020-11-25 17:51:15 · 1970 阅读 · 0 评论 -
音视频不同步排查方法
场景:客户报障说是视频音视频不同步,怀疑cdn有问题;排查思路:我先hosts绑定源站,ffplay播放,刚开始没有问题,2min之后确实出现了音视频不同步的问题,其实这时候就可以告诉客户源站的视频有问题,但是我没有这么干,我将有问题的ts片拿出来,通过ffprobe命令收集了它的pts信息,发现有时间戳回退的问题,这就实锤了源站的问题,然后就很霸气的将问题反馈给了客户;用ffplay获取到有问题的ts片信息用ffprobe查看有问题的ts片的pts信息从这些信息可以看...原创 2020-11-25 17:42:25 · 1135 阅读 · 0 评论 -
优酷大剧全链路技术保障探索和实践
一、什么是大剧保障?优酷大剧保障主要是对大剧、大综等节目视频上线前和上线后进行质量保障。大剧视频上线所涉及方很多:比如播放(类似报错、卡住、黑屏、声音等问题)、付费权益、运营配置、用户舆情反馈是否正常等。总的来说,优酷大剧保障主要是在大剧大综开播前、开播后对视频进行质量保障,及时发现问题并解决,避免资损和客诉,使用户有更好的观影体验。二、 如何保障?大剧保障基本涵盖了大剧生命周期的全链路各个阶段保障,其中核心环节包括以下方面:针对图中的各阶段,我们建设了大剧上线流程中需要保障的环节以及能原创 2020-11-25 17:00:14 · 197 阅读 · 0 评论 -
优酷技术实践:自动检测及修复视频播放异常
音视频播放器的工作内容可以描述为:根据流媒体协议还原音视频内容的过程。在还原的 每个阶段都存在丢失精度的风险,而最终呈现的结果也是一个主观的内容,这就给播放器输出结果的评估引入了一些痛点问题。作者| 阿里文娱技术专家 翠姝一、设计背景音视频播放器的工作内容可以描述为:根据流媒体协议还原音视频内容的过程。在还原的 每个阶段都存在丢失精度的风险,而最终呈现的结果也是一个主观的内容,这就给播放器输出结果的评估引入了一些痛点问题,可以列举如下:测试阶段:1)人工黑盒测试无法覆盖线上海量机型.原创 2020-11-25 16:55:28 · 1176 阅读 · 0 评论 -
音视频中的PTS和DTS及同步
说明:此页是所有索引的集合,从此出发,可以找到博客的所有链接。网络相关索引:https://blog.youkuaiyun.com/knowledgebao/article/details/84626184 linux基础相关索引:https://blog.youkuaiyun.com/knowledgebao/article/details/84315842 GStreamer专栏索引:https://blog.youkuaiyun.com/knowledgebao/article/details/84621238 Gobject原创 2020-11-25 16:54:35 · 842 阅读 · 0 评论 -
如何解决直播中黑屏、花屏、闪屏问题?10 分钟搞明白
播放失败 直播卡顿 首开慢 延时高 音画不同步 马赛克严重 播放黑屏、花屏、绿屏 播放杂音、噪音、回声 点播拖动不准 直播发热问题 其他问题(待续)首先我们要明白,黑屏、花屏、闪屏等问题,可能是推流端的问题,也可能是播放器的问题,遇到这些现象,我们要第一时间用别的播放器(如 VLC,ffplay)试试,如果都出现同样的问题,那么多半是流本身的问题了,反之,则很可能是播放器的问题。播放黑屏现象:画面是黑的,没有图像,但是有声音。1.主播端摄像头权限问题无论 Andr...原创 2020-11-25 10:50:22 · 19036 阅读 · 2 评论 -
使用Android MediaCodec 硬解码延时问题分析
使用Android MediaCodec 硬解码延时问题分析使用Android MediaCodec 硬解码延时问题分析2018年03月29日 09:30:38 珠雨妮儿 阅读数:2492版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.youkuaiyun.com/zhuyunier/article/details/79730872最近做项目用到Android native层的MediaCodec的接口对H264进行解码,通过在解码前和解码后加打印日志,发现解码耗时200多ms.原创 2020-11-25 10:43:38 · 3329 阅读 · 1 评论 -
视频直播延时测试方法
part1. 视频采集与编码 part2. 视频设备到服务器的传输 part3. 服务器分发到客户端的传输 part4. 客户端的播放其中,这个过程延时消耗最大的是part1和part4,也就是编/解码部分,而且通常情况下part1延时>part4延时,那么part2和part3如果消耗比较大的延时,要么是网络实在太差,要买就是程序写的不好,网络差可以采用UDP或者TCP丢帧的方式减少长期的延时,那总结来说,如果在part2和part3部分一直保持着高延时,基本可以确定,是服务器程序问题;pa原创 2020-11-25 10:38:43 · 3227 阅读 · 0 评论 -
H264码流中SPS PPS详解
1 SPS和PPS从何处而来? 2 SPS和PPS中的每个参数起什么作用? 3 如何解析SDP中包含的H.264的SPS和PPS串?1 客户端抓包在做客户端视频解码时,一般都会使用Wireshark抓包工具对接收的H264码流进行分析,如下所示:在这里我们可以看到对解码视频起关键作用的SPS和PPS。双击SPS内容如下:双击PPS内容如下:那么从上面的sps中我们知道图像的宽,高。宽=(19+1 )*16=320高=(14+1)*16=240为什么?参考下面原创 2020-11-16 21:03:28 · 821 阅读 · 0 评论 -
直播问题分析总结 -- 花屏&绿屏
直播时有时会遇到花屏或绿屏的现象,都有那些原因会导致这种现象呢?我梳理了部分原因:视频直播花屏&绿屏 原因花屏花屏主要分为整个画面都花屏或局部花屏两种情况。全屏花屏正常花屏有一种花屏是正常的,就是码率特别低的时候出现的大面积马赛克,我们俗称"画面糊了"。比如我们告诉视频编码器要输出1280 720高清分辨率的画面,但同时要求它只用 200 kbps的码率*(码率是指编码器每秒产生的视频数据大小 ),编码器此时能做的事情就是无底线地降低画质,就会导致大面积的马赛克.原创 2020-11-16 21:02:45 · 6976 阅读 · 0 评论 -
android视频采集
视频画面的采集主要是使用各个平台提供的摄像头API来实现的, 在为摄像头设置了合适的参数之后,将摄像头实时采集的视频帧渲染到 屏幕上提供给用户预览,然后将该视频帧编码到一个视频文件中,其使 用的编码格式一般是H264。当然,最终我们还要配上音频,否则没有 音频文件的视频就成了早期的默片电影了。 本节将主要学习如何在Android和iOS平台上利用各自平台提供的摄 像头API,采集出正确的视频帧并绘制到屏幕上,具体的编码将会在后 续进行讨论。6.2.1 Android平台的视频原创 2020-11-16 16:31:39 · 1285 阅读 · 1 评论 -
android音频编码
libfdk_aac编码AAC 软件编码AAC,将基于FFmpeg的API来编写,而不像第2章那样直 接使用LAME库的API来编码MP3。这样做的好处是,只需要编写一份 音频编码的代码即可,对于不同的编码器,只需要调整相应的编码器ID 或者编码器Name,就可以编码出不同格式的音频文件。当然,既然要 使用第三方库libfdk_aac编码AAC文件,那么必须在做交叉编译的时候 将libfdk_aac库编译到FFmpeg中去。可编写一个C++的类,命名为 audio_encoder原创 2020-11-16 16:17:17 · 764 阅读 · 0 评论 -
android 音频的采集
1.配置参数,初始化内部的音频缓冲区 首先来看一下AudioRecord的配置参数,AudioRecord是通过构造函 数来配置参数的,其函数原型如下: public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes). 上述参数所代表的含义及其在各种场景下应该传递的值具体说明如 下。·audioSource,该参数指原创 2020-11-16 16:15:59 · 1476 阅读 · 0 评论 -
推流上层ui示意图
-----------------------------------------------------------android手机通过camera类拍摄视频,把拍摄的视频通过h264编码,可以采用软编码(使用x264库或者opencore软件 库),java类通过jni调用编译后的so文件来实现。然后通过基于udp的rtp协议传输到服务器。为什么不使用tcp协议呢,因为tcp的重传机制 会产生延时和抖动,而单独使用udp传输协议本身是面向无连接的,不能提供质量保证,需要在...原创 2020-11-16 15:22:04 · 149 阅读 · 0 评论 -
Android保活实现方案梳理
参考资料:gitbub上的一个进程保活的库安卓进程保活解决方案Android进程保活招式大全双进程守护APP保活方案最近查看进程保活的各种资料,实现方式无非就那么几种,可以参考上面的资料链接,本篇博文对这些实现进行了分析和测试,并把从中体会到的知识点做个总结汇总,算是加深相关知识的理解。本篇博文以github的一个库为例,来逐步讲解说明该库总的来说就是整合了:一像素Activity,前台Servcie,Service设置START_STICKY,播放无声音乐Servcie,双进程守护Service,原创 2020-11-16 15:19:28 · 856 阅读 · 0 评论 -
音视频
音频Android的SDK(指的是Java层提供的API,对应的NDK是Native层 提供的API,即C或者C++层可以调用的API)提供了3套音频播放的 API,分别是:MediaPlayer、SoundPool和AudioTrack。这三个API的使 用场景各不相同,简单来说具体如下。 ·MediaPlayer:适合在后台长时间播放本地音乐文件或者在线的流 式媒体文件,它的封装层次比较高,使用方式比较简单。 ·SoundPool:适合播放比较短的音频片段,比如游..原创 2020-11-16 15:12:38 · 593 阅读 · 0 评论 -
ffmpeg 将音频转为mp3问题解决
安装完成ffmpeg后,就可以使用ffmpeg进行音频文件格式转换。比如 ./ffmpeg -i /media/1.mp3 /media/1.wav, 通过该命令行可以将/media文件夹下1.mp3文件转换成WAV格式的。 但是反过来 ./ffmpeg -i /media/1.WAV /media/1.MP3 却不能转换成Mp3格式,提示如下错误(找不到编码器): Stream ...转载 2019-05-21 09:25:46 · 5871 阅读 · 1 评论 -
FFMPEG压缩+频接音频
https://www.jianshu.com/p/97441b1eb326混音:http://blog.chinaunix.net/uid-11344913-id-3934279.html转载 2019-05-21 09:12:03 · 1099 阅读 · 0 评论 -
linux下ffmpeg环境搭建记录
https://blog.youkuaiyun.com/qq_38631503/article/details/80007128转载 2019-05-21 08:53:49 · 250 阅读 · 0 评论