音视频
挥剑踏苍穹
这个作者很懒,什么都没留下…
展开
-
音视频开发---linux安装ffmpeg总结
FFMPEG的视音频编解码功能非常强大,几乎囊括了现存所有的视音频编码标准,但是它没有音频和视频的编码库,本节介绍在linux下,安装FFMEPG,并集成音视频编码,SDL库的方法。1、下载最新的安装代码。 H264 编码库 :http://www.videolan.org/developers/x264.html NASM汇编器:https...原创 2019-05-22 17:11:49 · 557 阅读 · 0 评论 -
Red5与Nginx Rtmp性能对比
前期也是采用 red5,但是随着用户数的不断增长,red5 完全不能支撑整个业务。问题集中爆发在几个方面:对于单主播,听者超过400人时,CPU超过90%(主机为4核,32G)人数越多,音质,画面卡顿很多,不稳定,用户体验很差。于是我们决定对red5 进行替换,对各种选型进行了调研,并在 red5 相同环境下做了测试,发现 nginx-rtmp 的性能非常突出,最终选用 nginx-...转载 2019-07-31 17:16:41 · 1088 阅读 · 0 评论 -
音视频开发---音视频打时间戳的方法
没有封装格式的裸流(eg:H.264裸流)是不包含PTS、DTS这些参数的。在发送这种数据的时候,就需要自己计算并写入AVPacket的PTS,DTS,duration等参数。1. 视频时间戳pts = inc++ *(1000/fps);其中inc是一个静态的,初始值为0,每次打完时间戳inc加1.在ffmpeg,中的代码为pkt.pts= ...转载 2019-07-26 10:43:31 · 858 阅读 · 0 评论 -
音视频开发---ffmpeg rtmp拉流
目录代码编译验证参考 写了ffmpeg推流器之后,为了方便测试验证,于是就写了一个简单地拉流器,拉取rtmp流,将拉取数据保存为本地视频文件。与推流器的日志进行对比,可以验证推流端的每一帧和拉流端是一一对应的。 由于FFmpeg本身支持很多的封装格式和流媒体协议,本代码也支持多种不同的封装格式,也可以基于播放器代码,将本代码修改为拉取流媒体直接播放...原创 2019-08-14 14:51:55 · 8699 阅读 · 4 评论 -
ONVIF开发---ONVIF框架代码生成
目录下载wsdl源文件编译wsdl源文件、生成c/c++代码准备编译环境编译整理文件下载wsdl源文件wsdl文件官网:https://www.onvif.org/profiles/specifications/可以选择将各个wsdl文件下载下来,也可以不下载, 本文采用不下载方式。编译wsdl源文件、生成c/c++代码准备编译环境新建目录...原创 2019-09-30 18:20:55 · 633 阅读 · 0 评论 -
音视频开发---ffmpeg rtsp拉流
使用rtsp拉取rtsp服务器的视频,为了方便测试,在本地linux虚拟机中搭建了一个rtsp服务器(参考搭建rtsp服务器),rtsp拉流端通过ffmpeg实现(rtsp拉流和rtmp拉流类似).代码/** laliu1: 将rtsp流保存到本地视频文件 usage: ./a.out rtsp://localhost/rango.ts xx.ts ...原创 2019-08-14 14:59:31 · 3107 阅读 · 0 评论 -
音视频开发---搭建RTSP服务器
目录1下载live555开源库2 编译3 启动rtsp服务4 验证测试搭建RTSP服务器有多种方式,可以通过VLC,ffserver,live555 media server来搭建RTSP服务,本节重点介绍借助live555来搭建rtsp服务器。live555 media server是开源库live555自带的一款工具,基于库源码实现的一个轻量级的rtsp服务(VLC也...原创 2019-08-26 10:11:38 · 2130 阅读 · 0 评论 -
音视频开发---音视频同步算法
目录ffplay简介为什么要做音视频同步音视频同步算法参考 本文是对音视频同步算法的总结,以阅读ffplay.c源码为基础,结合各位博主的分析,逐渐深入理解同步算法原理, 并根据自身理解, 编写一套简易的视频播放器,用于验证音视频同步算法。ffplay简介 ffplay是FFmpeg提供的开源播放器,基于FFmpeg和SDL进行视频播放, 是研究...原创 2019-07-31 19:29:08 · 6308 阅读 · 1 评论 -
彻底的理解:WebService到底是什么?
最近老是有人跟我提web service接口,怎么,怎么滴,我觉得很扎耳朵,web service是一种将服务器的服务封装起来的技术,表现为对外提供接口,所以,web service不是一种接口 !!!!!!一、序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分。...转载 2019-08-05 09:29:53 · 272 阅读 · 0 评论 -
音视频开发---编译安装SDL_image库
SDL2库内部提供了加载BMP图片的接口,而我们常见的诸如jpg,png等格式的图片,需要借助第三方库来完成,这里我们介绍SDL2的扩展库SDL_image的编译安装方法。SDL_image简介这里引用Readme.txt中的一段话来说明库的功能:1. 编译安装 下载:http://www.libsdl.org/projects/SDL_imag...原创 2019-06-05 14:17:19 · 984 阅读 · 1 评论 -
音视频开发---基于SDL2显示JPG图片
有了使用SDL2 &SDL2_image显示bmp,png的经验,我们这次来显示JPG图片,修改代码如下(完整代码参考https://blog.csdn.net/u011734326/article/details/90635059):SDL_RWops *dst = SDL_RWFromFile("1.JPG", "rb"); if(dst == NULL){ pri...原创 2019-06-05 14:14:50 · 784 阅读 · 0 评论 -
音视频开发---基于SDL2显示图片
SDL的介绍可以参考雷神的博客:https://blog.csdn.net/leixiaohua1020/article/details/11954039SDL内部包含了加载BMP图片的接口,但是对于BMP之外的图片,则需要借助扩展库SDL_image来实现。SDL_image—支持时下流行的图像格式:BMP、PPM、XPM、 PCX、GIF、JPEG、PNG、TGA。SDL加载PN...原创 2019-05-28 10:51:50 · 598 阅读 · 0 评论 -
音视频开发---基础概念总结
目录一、Camera 原理1. 结构2.工作原理二、sensor输出数据格式1. RGB 、RAW RGB2. YUV3. JPEG(Joint Photographic Experts Group)三、参考一、Camera 原理1. 结构一般来说,camera 主要是由 lens 和 sensor IC 两部分组成,其中有的 sensor IC ...原创 2019-05-23 16:16:10 · 390 阅读 · 0 评论 -
音视频开发---linux环境基于ffmpeg实现拍照功能
本机摄像头可直接输出mjpeg格式, 将摄像头采集的数据保存为jpg图片即可。#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include "avformat.h"#include "avcodec.h"#include "av...原创 2019-05-27 15:30:55 · 1293 阅读 · 0 评论 -
音视频开发---SDL_Init failed问题分析
SDL2的安装可以参考博客:https://blog.csdn.net/u011734326/article/details/90346495在使用SDL2显示摄像头影像时,遇到了一个不可思议的问题,log如下:SDL_Init failed:-1No available video device SDL_Init返回-1, 原因是:No available video de...原创 2019-05-23 10:01:57 · 2671 阅读 · 1 评论 -
音视频开发---linux下V4L2拍照
目录1. 流程说明2. 代码说明2.1摄像头初始化2.2 启动摄像头2.3拍照2.4停止摄像头3. 参考链接 V4L2(Video4linux2),是linux中关于视频设备的内核驱动。在Linux中,我们可以像访问普通文件一样对视频设备进行操作,V4L2也为我们在用户空间操作视频设备提供了一系列接口,使得应用程序可以使用统一的AP...原创 2019-05-21 18:27:40 · 598 阅读 · 0 评论 -
音视频开发---音频基础知识总结
目录音频基础知识声道采样率样本格式分片(plane)和打包(packed)声道分布(channel_layout)音频帧的数据量计算音频播放时间计算音频重采样AAC资料AAC规格简述AAC特点AAC音频文件格式ADTS头术语说明参考对学习过程中的知识点进行归纳总结。音频基础知识不仅限于ffmpeg,音频采样所得的PCM都含...原创 2019-07-24 11:29:28 · 3090 阅读 · 0 评论 -
音视频开发---深入理解sdl渲染、纹理
1. 概念渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。早期计算机生成的三维图像看起来往往像是发亮的塑料,虽然这在当时也是比较先进的,但是它们缺乏各种纹路——如磨损、裂痕、指纹和污渍等,而这些纹路会增加三维物体的真实感。近年来,纹理已经在开发人员中得到普及并作为增强计算机生成的三维图像的真实...原创 2019-07-10 16:14:44 · 1726 阅读 · 0 评论 -
音视频开发---FFmpeg+SDL本地摄像头直播
继上一篇ffmpeg录像并保存为mp4之后, 这一篇介绍摄像头本地直播,基于FFmpeg+SDL2实现, 代码中关键部分都有注释,这里不再叙述,详细代码如下:/** 摄像头SDL直播*/#include <stdio.h>#include <string.h>#include <stdlib.h>#include <un...原创 2019-07-17 16:48:52 · 636 阅读 · 0 评论 -
音视频开发---FFmpeg开发流程总结
目录1. FFmpeg简介1.1 FFmpeg的封装模块AVFormat1.2 FFmpeg的编解码板块AVCodec1.3 FFmpeg的滤镜模块AVFilter1.4 FFmpeg的视频图像转换计算模块swscale1.5 FFmpeg的音频转换计算模块swresample2. ffmpeg处理媒体文件思路2.1先要明白媒体中包含有什么信息2.2 为什么要...原创 2019-06-14 08:40:00 · 1140 阅读 · 0 评论 -
音视频开发---JPEG格式分析
本文转载自:https://www.cnblogs.com/sddai/p/5666924.html,并在文章末尾增加了例子说明。JPEG文件的存储格式有很多种,但最常用的是JFIF格式,即JPEGFileInterchangeFormat。JPEG文件大体可以分为两个部分:(1)标记码;由两个字节构成,其中,前一个字节是固定值0XFF代表了一个标记码的开始,后一个字节不同的值代表着...转载 2019-06-10 14:00:38 · 371 阅读 · 0 评论 -
音视频开发---ffmpeg录像并保存为mp4
使用ffmpeg录像,并保存为mp4文件,涉及到的数据结构和函数接口如下:代码关键部分都有注释,这里不再过多叙述。/** 用摄像头录像,并保存为mp4文件*/#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>...原创 2019-06-28 17:15:20 · 2637 阅读 · 0 评论