Media
文章平均质量分 91
github/gongluck
这个作者很懒,什么都没留下…
展开
-
crtmp server搭建
apt-get install wget cmakeapt-get install libssl-devmkdir crtmpwget https://codeload.github.com/j0sh/crtmpserver/zip/centosinitunzip centosinitcd crtmpserver-centosinit/builders/cmakecmake . mak原创 2018-01-04 20:26:25 · 322 阅读 · 0 评论 -
nginx rtmp server搭建
mkdir nginxwget http://nginx.org/download/nginx-1.12.2.tar.gztar -zxvf nginx-1.12.2.tar.gzapt-get install libpcre3-devgit clone https://github.com/arut/nginx-rtmp-module.gitcd nginx-1.12.2./confi原创 2018-01-04 21:26:31 · 268 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第2篇#配置VS开发环境
下载FFmpeg首先是下载FFmpeg的win32库,我用的版本是2.5.2(和其他2.x.x版本应该不会有太大差别)。FFmpeg的官网上好像已经找不到旧版本的下载了,可以在我的代码地址下载2.5.2版本。创建工程打开Visual Studio 2013,创建一个空的控制台项目。 配置FFmpeg目录在上面一步创建的工程目录下,创建一个FFmpeg文件夹。FFmpeg文件夹下新建inc和lib目原创 2017-12-29 22:23:44 · 468 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第3篇#视频解码
解码过程 基本过程:打开输入文件,查找视频流,打开解码器,循环读帧解码帧,关闭解码器,关闭输入文件。原创 2018-01-02 15:05:08 · 629 阅读 · 1 评论 -
FFmpeg菜鸡互啄#第4篇#音频解码
解码过程音频解码跟上一篇的视频解码过程是一样的:打开输入文件,查找音频流,打开解码器,循环读帧解码帧,关闭解码器,关闭输入文件。原创 2018-01-02 20:42:28 · 633 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第5篇#视频帧格式转换
avpicture_get_size 算出某格式和分辨率下一帧图像的数据大小avpicture_fill 将自己分配的内存绑定到AVFrame帧的data数据区avpicture_alloc 为AVFrame帧的data分配内存,不用自己分配sws_getContext 创建从一种格式到另一种格式的转换上下文sws_scale 转换*以上的每一个函数都没有对AFrame的linesize进行有效处理原创 2018-01-03 10:15:36 · 581 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第6篇#音频帧格式转换(重采样)
av_get_default_channel_layout 根据通道数返回默认的通道布局swr_alloc_set_opts 根据通道布局、音频数据格式、采样频率,返回分配的转换上下文swr_init 初始化上下文av_samples_get_buffer_size 根据通道数、样本数、数据格式,返回数据大小swr_convert 转换*应该分配一个足够大的缓冲区保存转换后的数据*原创 2018-01-03 14:13:39 · 974 阅读 · 0 评论 -
FLV文件格式官方规范详解
——如果要学习一个新的知识点,官方手册可能是最快的途径。查看网上其他人的总结也许入门更快,但是要准确,深入,完整,还是要看官方手册。以下内容来自对官方文档Video File Format Specification Version 10的分析总结。过程中借助ffmpeg实际转换了一个flv文件用例研究。一个FLV文件,每种类型的tag都属于一个流,也就是一个flv文件最多只有一个音频流,一个视频转载 2018-01-18 08:55:02 · 399 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第7篇#文件/rtsp推流到rtmp
关键步骤 avformat_open_input//打开输入文件/rtsp avformat_find_stream_info////获取音视频流信息 avformat_alloc_output_context2//创建输出上下文 avformat_new_stream//创建输出流 avcodec_copy_context//复制配置输出流 av原创 2018-01-13 22:19:49 · 2563 阅读 · 0 评论 -
FFmpeg菜鸡互啄#第1篇#一些基本概念
播放一个视频文件的流程封装格式视频流和音频流按照一定的格式存储在一个文件中。常见的封装格式有mp4、flv、avi、mkv…视频编码将视频像素数据(RGB, YUV等)压缩编码成视频流,从而降低视频的数据量。一般使用H.264的情况会比较多,可以将图像数据压缩100倍以上。音频编码将音频采样数据(PCM等)压缩为音频流,从而降低音频的数据量。一般使用AAC的情况会比较多,可以将音频数据压缩10倍以上原创 2017-12-29 14:40:24 · 628 阅读 · 0 评论 -
FFmpeg_3.2.4+SDL_2.0.5学习(2)视频同步基础
如果把视频流看做一个数组,那么显示时间戳就像是数组下标,指示该图片帧应该显示的时间。*pfe显示时间 = pfe->best_effort_timestamp * av_q2d(视频流的时基) + extra_delay extra_delay = pfe->repeat_pict / (2*fps) fps = 1 / av_q2d(视频流的时基)extra_delay = pfe->repeat_pict * 0.5 * av_q2d(视频流的时基)本例以第一帧的播放时间作为原创 2017-04-27 19:45:25 · 566 阅读 · 0 评论 -
FFmpeg_3.2.4+SDL_2.0.5学习(1)音视频解码帧及显示/播放数据
视频的重要处理:sws_getContext,获得转换上下文av_image_get_buffer_size,获得(转换后)图片大小av_image_fill_arrays,将自定义内存块绑定到输出的AVFrame中sws_scale,转换音频的重要处理:av_get_default_channel_layout,根据声道数获取默认的声道布局swr_alloc_set_opts,获取转换上下文swr_init,获取到上下文后必须初始化av_samples_get_buffe原创 2017-04-26 19:38:48 · 2069 阅读 · 0 评论 -
ffmpeg+sdl播放类
前段时间一直捣鼓ffmpeg,觉得还是VLC比较亲切,虽然我现在都不知道VLC怎么用了。除了雷神的博客,主要参考的还是这个博客:http://blog.yundiantech.com/?log=index自己在Qt下做了一个功能简单的播放类(播放,暂停,停止)。以后有时间再弄上快进,后退等。/***********************************************原创 2017-06-16 16:09:28 · 542 阅读 · 2 评论 -
视频比特率与分辨率
清晰度由比特率决定,视频尺寸和像素量由分辨率决定,比特率越高越清晰(前提是分辨率保持不变),分辨率越大视频尺寸越大,打个比喻,分辨率就是盒子,比特率就是要装进盒子的东西,盒子大了,能装的东西就多了,相当于分辨率大了,能容下的比特率就高了,比特率高了,视频就更清晰了,但视频文件也越大了,所以常说分辨率高的视频清晰,是因为分辨率越高的视频比特率也调得越高,其清晰度始终取决于比特率,比特率是人通过软件可调原创 2017-12-20 17:29:15 · 8850 阅读 · 0 评论 -
H.264格式分析
一.H.264基本流结构H.264 的基本流(elementary stream,ES)的结构分为两层,包括视频编码层(VCL)和网络适配层(NAL)。视频编码层负责高效的视频内容表示,而网络适配层负责以网络所要求的恰当的方式对数据进行打包和传送。引入NAL并使之与VCL分离带来的好处包括两方面:1、使信号处理和网络传输分离,VCL 和NAL 可以在不同的处理平台上实现;2、VCL 和NAL转载 2018-01-11 16:24:58 · 352 阅读 · 0 评论 -
利用FFmpeg对火眼一体摄像机的回调数据进行处理:YUV转H264,H264封装flv,所有输入都是在内存中。
利用FFmpeg对火眼一体摄像机的回调数据进行处理:YUV转H264,H264封装flv,所有输入都是在内存中。原创 2017-12-27 10:47:13 · 1017 阅读 · 0 评论 -
(2018.1.12更新)可用rtmp地址
rtmp://live.hkstv.hk.lxdns.com:1935/live/hksrtmp://live.hkstv.hk.lxdns.com/live//hksrtmp://v1.one-tv.com:1935/live/mpegts.streamrtmp://3xhtut.live1.z1.pili.qiniucdn.com/lotustv/5562e9e4d409d24c9600原创 2018-01-12 11:19:24 · 9969 阅读 · 2 评论 -
YUV数据格式
原文地址:https://www.cnblogs.com/Youhei/p/5245634.html概要:与RGB编码方法类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它是指将亮度参量(Y:Luminance或Luma)和色度参量(UV:Chrominance或Chroma)分开进行表示的像素编码格式。而这样分开的好处就是不但可以避免相互干扰--没有UV信息一样可转载 2017-12-27 20:39:56 · 1326 阅读 · 0 评论 -
使用librtmp推流/拉流
准备工作#include "librtmp/rtmp_sys.h"#include "librtmp/log.h"#pragma comment(lib, "librtmp.lib")#pragma comment(lib, "WS2_32.lib")WORD version;WSADATA wsaData;version = MAKEWORD(1, 1);WSAStar原创 2018-01-22 11:08:36 · 5952 阅读 · 3 评论 -
ffmpeg的时基
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意思就是时间的刻度转载 2017-05-27 15:08:14 · 324 阅读 · 0 评论