视音频
文章平均质量分 68
这个冬天丶不太冷
在音视频领域从事c++后台开发
展开
-
各种编码格式和封装格式的视音频文件
最近需要做一个文件转码的软件,需要支持一些视频和音频编码格式,封装格式,在网下下载这些文件是在费劲,自己在网下下载了一些文件,用FFmpeg转码了一些,有需要的自己下载。下面是我自己的用的一些编码的视音频文件,需要的请自己下载http://download.csdn.net/download/m0_37684310/9999379另附一个免费下载各种编码格式的网址:http...原创 2017-09-07 23:23:48 · 1052 阅读 · 1 评论 -
使用ffmpeg解复用rtsp流,取到ES数据
近期因为项目上安卓平台上要对接摄像头流,但是使用ffmpeg软解码,消耗CPU性能较大;所以使用ffmpeg解复用rtsp流,取到ES数据后使用硬件解码。特意抽了一个demo出来,希望能帮到大家,特别简单,一开始想复杂了。注:假如是其他格式的流或者文件类似,相应的修改open_input_file()就好了,网上有很多,这就以rtsp流为例。解析MP4文件的话注意下h264_mp4t...原创 2019-10-10 19:13:41 · 1002 阅读 · 7 评论 -
收藏几个比较好的各种流格式及封装格式的链接,辅助于音视频开发
MP4文件封装格式解析:https://www.cnblogs.com/ranson7zop/p/7889272.htmlh264基础及rtp分包解包:https://blog.csdn.net/machh/article/details/52165292TS包解析:https://www.cnblogs.com/jiayayao/p/6832614.htmlFLV格...原创 2019-10-12 15:19:41 · 430 阅读 · 0 评论 -
利用ffmpeg将YUV420P转成jpg格式文件,保存
我的程序需要在文件转码的同时去截图,按首祯截图和时间序列截图,但困扰于如何保存成jpg格式。方案一:利用ffmpeg将从文件读取出来的祯解码成YUV420P像素格式,用ffmpeg编码成jpg格式借鉴于雷博士的最简单的基于FFmpeg的图像编码器 连接:http://blog.csdn.net/leixiaohua1020/article/details/25346147方案...原创 2017-09-12 22:07:45 · 8352 阅读 · 10 评论 -
ffmpeg解码后的yuv420P数据保存为opencv中mat格式(灰度图),最后保存为.bmp文件
完整代码就不贴上来了,讲一下实现思路: ffmpeg解码出来的视频数据是yuv格式,假设为AV_PIX_FMT_YUV420P,后续的图像处理一般都是RGB格式的,而opencv中mat中需要存储成RGB格式,所以就需要从yuv到rgb或者bgr的转换。ffmpeg提供了相应的转换API函数:下面代码中m_width, m_height是原图像宽度与高度,AV_PIX_FMT...原创 2018-07-01 14:56:41 · 3209 阅读 · 0 评论 -
live555学习之rtsp客户端和服务器端
网上相关资料有很多,自己保存一下,直接上连接吧rtsp客户端:https://www.cnblogs.com/jqctop1/p/4396301.htmlrtsp服务器:https://www.cnblogs.com/jqctop1/p/4386533.html转载 2018-08-05 15:35:13 · 806 阅读 · 0 评论 -
使用live555客户端源码遇到的问题及解决方法
使用live555客户端源码拉rtsp流遇到两个问题,正常测试拉取海康摄像头没问题;1.拉有些厂商的rtsp流会间隔一段时间断开连接;2.与大华摄像头建立连接时,发送DESCRIBE命令后很长时间服务器端才返回;问题一:问题描述:rtsp流间隔一段时间后总是中断,因为有断开重连机制,所以画面一直是卡住,然后正常播放一段时间,这样循环。原因描述:由于没有与服务器端建立心跳导致;有...原创 2019-05-15 19:23:46 · 2724 阅读 · 0 评论 -
ts流在flush播放器中无法正常播放问题及解决(只有声音没有画面)
问题描述:第一次遇到这个问题是复用后的TS流在VLC上播放正常,但在苹果手机的浏览器上无法正常播放,只有声音没有画面。注:苹果手机自带的浏览器播放器是flush的,所以在flush播放器上一般都会有这种问题,其他播放器不确定会不会导致此问题。为什么这么做?在网上搜索资料查到,苹果官网说法:查看第10条https://developer.apple.com/library/cont...原创 2019-05-04 21:56:24 · 3349 阅读 · 0 评论 -
ffmpeg从内存中读取数据(或者输出到内存)及其注意事项
本文借鉴与雷神的博客:https://blog.csdn.net/leixiaohua1020/article/details/12980423/天妒英才啊!!话不多数,项目中需要用到ffmpeg从内存中读取数据转码,然后输出到内存中,在此记录几个注意事项,避免遇到坑;从内存中读取数据:int TEST::openInputFile(){ int ret = -1; uns...原创 2019-04-21 00:14:19 · 3981 阅读 · 9 评论 -
ffmpeg中h264_mp4toannexb使用说明及注意事项
本文借鉴于:https://blog.csdn.net/amazing_yangle/article/details/49029687首先解释一下h264_mp4toannexb是做什么用的:h264有两种封装,一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中,vlc里打开编码器信息中显示h264;一种是mp4模式,一般mp4 ,mkv会有,没有star...原创 2019-04-16 15:17:47 · 14303 阅读 · 0 评论 -
va_g729a编码库使用
借鉴链接:https://www.cnblogs.com/findumars/p/5706009.htmlffmpeg可以解码g729a,但不能编码成g729a,所以要想使用g729a编码需要用到va_g729a库。头文件g729a.h:#define L_FRAME_COMPRESSED 10#define L_FRAME 80extern "C"...原创 2019-04-03 19:33:06 · 2594 阅读 · 0 评论 -
ffmpeg指定网卡接收流(绑定网卡)
AVDictionary* opts = NULL;av_dict_set(&opts, "localaddr", "192.168.15.15", 0);// 如果有超时设置,继续使用上述函数,超时的key一般为timeoutint nRet = avformat_open_input(&ctx, url, NULL, &opts);...原创 2019-04-01 21:40:43 · 2823 阅读 · 6 评论 -
解决DShow采集USB摄像头数据时画面倒置问题
本人用的两个摄像头测试的:1.奥速的摄像头,型号ashu f11p,数据输出格式为YUV2,画面显示无问题;2.本机安装虚拟摄像头:VCAM,数据输出格式为RGB24,画面显示颠倒;一开始以为是数据输出格式不一致导致的,看其处理过程,查找了一天也没找到问题所在,流程处理无问题。然后开始上网查找解决方法,在网上找到一条相关信息:确认BITMAPINFOHEADER中的biHeight字段,biHei...原创 2018-07-04 13:54:59 · 1804 阅读 · 0 评论 -
ffmpeg中av_seek_frame()使用及其flag值意义
例子:int nRet = av_seek_frame(m_ifmt_ctx, -1, (m_start_play_time + nSecs) * AV_TIME_BASE, AVSEEK_FLAG_BACKWARD);原型:使用时需要使用四个参数int av_seek_frame(AVFormatContext *s, int stream_index, int64_t times...原创 2018-03-13 19:12:09 · 9030 阅读 · 2 评论 -
利用ffmpeg实现添加图片水印和文字水印,添加多个水印。代码和命令实现及中文水印乱码
ffmpeg中文水印乱码两种原因1.字符编码格式原因,中文必须是utf8编码格式的(我遇到的问题,在vs2013上写的中文,已做编码格式转码,放到centos7.2上编译运行也会出现中文乱码的问题,在Linux上把中文水印重新输入一遍就OK了)2.字体文件fontfile原因,最好去C:\Windows\Fonts目录下去找,比如说宋体,黑体这些是不会乱码的1.ffmpeg命令添...原创 2017-10-17 10:38:45 · 38943 阅读 · 51 评论 -
Linux下编译ffmpeg及其依赖库
之前想写一篇博客来记录一下本人在编译ffmpeg库是遇到的坑。首先讲一下我的需求,利用ffmpeg库实现转码,增加水印,截图功能,输出文件固定为视频为H264编码,音频为AAC编码1.首先ffmpeg没有x264库,需要下载x264库,自己编译,地址:这个需要提前下载编译yasm库,地址:./configuremake && make install然后再编译安装x264库原创 2017-09-27 22:11:34 · 3634 阅读 · 0 评论 -
使用ffmpeg读取本地文件,进行推流
使用ffmpeg读取本地文件,进行推流,跳到指定时间播放。注意MP4文件h264_mp4toannexb与aac_adtstoasc。要实现循环播放注意两点:1.播放到结尾,跳到开始位置重新播放;2.时间戳要重新打,不然会报错;直接上代码:#define __STDC_CONSTANT_MACROS#ifdef __cplusplusextern "C"{...原创 2019-10-10 20:44:16 · 5557 阅读 · 0 评论