![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频/多媒体开发&&Android音频开发
文章平均质量分 85
音视频/多媒体开发&&Android音频开发
程序员子涵
交个朋友 wx: CXYzihan (注明来意)
分享编程中的遇到的坑,成长爬坑记录,这里有三板斧,王婆本人切瓜,包甜,让你在编程路上不迷路!
一个专注于鸿蒙OpenHarmony c/c++/Linux程序员情怀 走向全栈 最终归属于架构.
展开
-
ffmpeg 音视频处理入门基础概念
ffmpeg概念Fmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换组成.ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;libavcodec:用转载 2020-10-20 13:51:26 · 847 阅读 · 1 评论 -
音视频开发前言
1、前言实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。典型的实时音视频应用数据流转过程如下:下面这张图可能更具体一点:进行实时音视频开发的同行们的开源工程,这些工程分为几类:音视频编解码类、视频前后处理、服务端类等,希望能加速学习或研究过程。转载 2020-10-19 11:13:06 · 322 阅读 · 0 评论 -
实时音视频技术入门理解的一方面的总结
其实我一直有一个观点,就是:“基于平台的 API 做应用开发,并不是一个可以走得多远的方向,真正有价值的地方在于与具体的业务方向结合”。具体点说,比如:1)网络安全;2)音视频;3)智能硬件;4)深度学习;5)大数据;6)其他(比如:金融、通信等)。在具体的业务领域,你可以慢慢沉淀下来,用自己的努力和时间换来对领域知识的深入理解和积累,逐渐从一个开发小白走向最懂这个行业的专家。如果对实时音视频这个领域感兴趣,应该如何入门和提高 ?1、实时音视频开发包括哪些技术内容音视频开.转载 2020-10-19 11:02:58 · 530 阅读 · 0 评论 -
视频压缩相关知识
一.什么是编码?因为未经压缩的数字视频的数据量巨大,在相对有限的存储空间和传输带宽条件下,其在互联网上的传输会有极大的不便,所以在视频的传输之前,会对视频数据和音频数据进行一定算法的压缩,这个过程又称为编码(压缩)。压缩的实质是去除冗余信息:a.空间冗余:图像相邻像素之间有较强的相关性简单讲,同一张图像中,有很多像素点表示的信息是完全一样的,如果对每一个像素进行单独的存储,必然...转载 2020-02-22 18:04:12 · 1002 阅读 · 0 评论 -
音频编码相关
1.音频信号的冗余信息音频编码的主要作用是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量。数字音频压缩编码在保证信号在听觉方面不产生失真的前提下,对音频数据信号进行尽可能大的压缩。数字音频压缩编码采取去除声音信号中冗余成分的方法来实现,所谓冗余成分指的是音频中不能被人耳感知到的信号,它们对确定声音的音色,音调等信息没有任何的帮助。例如,人耳所能察觉的声音信号的频率范围为2...转载 2020-02-22 17:34:04 · 226 阅读 · 0 评论 -
视频编码:H.264编码
本文参考毕厚杰老师《新一代视频压缩编码标准-----H.264/AVC》一书以及雷霄骅博客《视音频编解码技术零基础学习方法》整理。1.概念部分:H.264编码: 视频编解码技术有两套标准,国际电联(ITU-T)的标准H.261、H.263、H.263+等;还有ISO 的MPEG标准Mpeg1、Mpeg2、Mpeg4等等。H.264/AVC(又被称为MPEG-4 Part 10)是两大组织集合...转载 2020-02-22 17:28:37 · 5086 阅读 · 0 评论 -
音视频压缩编码介绍
1.概念:压缩(编码):因为未经压缩的数字视频的数据量巨大,在相对有限的存储空间和传输带宽条件下,其在互联网上的传输会有极大的不便,所以在视频的传输之前,会对视频数据和音频数据进行一定算法的压缩,这个过程又称为编码。帧内(Intraframe)压缩:也称为空间压缩,当压缩一帧图像时,只考虑本帧的数据而不考虑相邻帧之间的冗余信息,帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所...转载 2020-02-22 17:07:20 · 1103 阅读 · 0 评论 -
多媒体封装格式(容器)介绍
封装格式:在观看已经下载好的视频的时候,经常会看到一些视频文件后缀,如.mp4,.flv,.avi,.mkv等等,这些扩展名就可以简单理解为视频的封装格式或者视频的容器格式。封装:所谓视频的封装,就是将已经编码好的音频,视频,还可能有字幕,脚本之类的文件按照一定的规范放到一起,形成一个封装格式的文件(封装和编码是两个不同的概念,封装是在“视频流水线”上,编码以后的一个过程,一个容器可以封装多种编...转载 2020-02-22 16:56:02 · 920 阅读 · 0 评论 -
1.音视频播放原理介绍
音视频技术主要包含以下几种:封装技术,视频压缩技术,音频压缩技术,流媒体协议技术以及防盗链技术。接下来的几篇文章将对这几种技术做深入的研究和实践。下面简单说明一下视频播放的原理(以播放互联网上的视频为例):服务器端的视频数据通过流媒体协议下载到客户端,依次会经过以下的过程:1.解协议:将流媒体协议的数据解析为相应的封装格式数据,比如RTMP协议解析后得到flv,HLS协议解析后得到ts。...转载 2020-02-22 16:08:51 · 1415 阅读 · 0 评论 -
入门视频采集与处理(BT656简介)
凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。1. 帧的概念(Frame)一个视频序列是由N个帧组成的,采集图像的时候一般有2种扫描方式...转载 2020-02-19 17:20:11 · 338 阅读 · 0 评论 -
Android HTTP边下边播
本文简单地分享一下在Android平台做HTTP边下载边播放的一些经验,希望对初学者有所帮助。1. 为什么播放器在播放视频文件的时候,都知道该怎么去解码、该以怎样的时间间隔去显示每一帧呢?因为无论是mp4、avi、flv、mkv还是其他格式的音视频文件,都存在一个称为metadata的数据块,记录了当前文件的图像尺寸、编码格式、帧率、码率等信息,播放器可以通过解析metadata得到这些信息。...转载 2020-02-19 17:11:36 · 807 阅读 · 0 评论 -
谈谈RTP传输中的负载类型和时间戳
最近被RTP的负载类型和时间戳搞郁闷了,一个问题调试了近一周,终于圆满解决,回头看看,发现其实主要原因还是自己没有真正地搞清楚RTP协议中负载类型和时间戳的含义。虽然做RTP传输,有着Jrtplib和Ortp这两个强大的库支持,一个是c++接口,一个是c语言接口,各有各的特点,各有各的应用环境,但是仅仅有库就能解决一切问题吗?可能仿照着一些例子程序,你能够完成主要的功能,但一旦问题发生了,不清楚原...转载 2020-02-19 17:05:27 · 521 阅读 · 0 评论 -
ortp库使用入门
我们知道, RTP(Real-timeTransportProtocol)是用于Internet上针对多媒体数据流的一种传输协议,做流媒体传输方面的应用离不开RTP协议的实现及使用,为了更加快速地在项目中应用RTP协议实现流媒体的传输,我们一般会选择使用一些RTP库,例如使用c++语言编写的JRTPLIB库,网上关于RTP协议以及JRTPLIB库的介绍已经很多了,在此我也不再赘述,文本主要介绍实现...转载 2020-02-19 16:55:18 · 641 阅读 · 0 评论 -
ortp编程示例代码
鉴于很多网友找我要ortp的示例代码,因此,今天抽空把相关资料整理了一下,写了一个windows版的ortp示例程序,发布在这里供网友们参考吧。编译及运行环境:VS2008,windows编程语言:c/c++,ortp库为c语言封装,我用c++对其进行了进一步封装,如果需要c语言的封装接口,只需要把类中相关函数提取出来即可使用。ortp库:ortp-0.9.1(由于是以前写的代码,故用的or...转载 2020-02-19 16:40:21 · 279 阅读 · 0 评论 -
DLNA&UPnP开发笔记(4)— PlatinumKit库介绍
前面几篇文章主要从理论上介绍了DLNA和UPnP协议的相关概念和知识点,本文主要介绍一下PlatinumKit库,该库实现了UPnP协议栈,代码写得非常漂亮,但文档不多,所以希望我的介绍和引导能够帮助初学者更快速地掌握该库的应用。1. PlatinumKit库的官方网站http://www.plutinosoft.com/platinum/2. PlatinumKit库的特点(1)由C...转载 2020-02-19 16:34:47 · 873 阅读 · 0 评论 -
为什么要使用RTP
一提到流媒体传输、一谈到什么视频监控、视频会议、语音电话(VOIP),都离不开RTP协议的应用,但当大家都根据经验或者别人的应用而选择RTP协议的时候,你可曾想过,为什么我们要使用RTP来进行流媒体的传输呢?为什么我们一定要用RTP?难道TCP、UDP或者其他的网络协议不能达到我们的要求么?本文就是根据我在RTP协议的学习和应用过程中整理出来的思考,希望对大家有所启发,同时,也欢迎大家留言探讨...转载 2020-02-19 12:00:10 · 637 阅读 · 0 评论