流媒体
文章平均质量分 93
路儿
这个作者很懒,什么都没留下…
展开
-
使用nginx做为http-flv服务如何解决跨域问题
什么是跨域跨域是指浏览器的同源策略限制,这个策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。如果一个请求url的协议、域名、端口三者之间任意一个与当前页面的url不同即为跨域。如下图所示即为跨域时的报错:使用nginx搭建http-flv服务主要使用了nginx和nginx-http-flv-module模块,具体过程可参考:https://blog.cs...原创 2020-04-15 22:04:42 · 5058 阅读 · 1 评论 -
windows 10 x64环境下编译带有ffplay的ffmpeg
windows下编译ffmpeg的核心在于要搭建一个类linux的编译环境,换句话说就是需要在windows环境中运行gcc、make等命令工具。本文详细介绍windows下编译环境的搭建与ffmpeg的编译过程,并成功生成ffplay。编译环境搭建windows下类linux的编译环境常见的有两种,一种是MinGW,一种是cygwin。下面先简单介绍一下两者的区别。MinGW与c...原创 2019-06-12 07:20:18 · 3173 阅读 · 1 评论 -
对YUV格式的详细分析
YUV数据格式的定义和采集方式YUV数据格式定义YUV分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信...原创 2019-05-16 22:35:36 · 705 阅读 · 0 评论 -
使用ffmpeg命令行实现一入多出转码
我们在实际工作中有时会遇到一入多出的转码需求,比如在给播放器提供多种网络环境的播放源选择(如流畅、清晰、高清和超清等)时就会需要这种操作。在这篇文章中,我们讲一下如何使用一条ffmpeg命令来实现同一个输入源转码输出多路不同视频的功能。原创 2018-11-28 17:50:05 · 10832 阅读 · 11 评论 -
ffmpeg命令行map参数的使用
介绍理解-map参数的最好办法就是想像一下怎么去告诉ffmpeg你要从源文件中选择/拷贝哪个流到输出文件。输出文件的stream顺序取决于在命令行中-map的参数顺序。下面有一些例子。默认默认操作(没有指定map参数),比如:ffmpeg -i INPUT OUTPUT本质上,是从所有输入中发现“最高质量”(单个)视频输入流和“最高质量”(单个)音频输入流,并“发送”到O...翻译 2018-07-21 11:04:58 · 25577 阅读 · 4 评论 -
基于FFMPEG的音频编码器
本文介绍一个最简单的基于FFMPEG的音频编码器。该编码器实现了PCM音频采样数据编码为AAC的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要。通过看本编码器的源代码,可以了解FFMPEG音频编码的流程。本程序使用最新版的类库(编译时间为2014.5.6),开发平台为VC2010。所有的配置都已经做好,只需要运行就可以了。流程(2014.9.29更新)下面附一张使用FFmpeg编码音频的...转载 2018-07-13 18:19:59 · 395 阅读 · 0 评论 -
用ffmepg实现音频重采样
1.概述在进行音频播放时,有时音频流不能满足播放要求,需要对声音的相关属性如:通道数,采样率,样本存储方式进行变更播放,也就是音频重采样。ffmpeg提供了SwrContext进行转换。typedef struct SwrContext SwrContext;2.基本概念2.1通道数声音在录制时在不同空间位置用不同录音设备采样的声音信号,声音在播放时采用相应个数的扬声器播放。采用多通道的方式是为了...转载 2018-07-13 18:03:48 · 537 阅读 · 0 评论 -
ts、mp4、mov和flv媒体容器封装层的timebase分析
在使用ffmpeg封装过程中发现,封装成mp4文件音视频是同步的,但是封装成mpegts文件则有问题,视频播放正常,但音频播放异常,且不同步。所以猜测是封装层的时间基准单位(timebase)在搞鬼。 在此,并没有去深入的分析ffmepg中的源代码,而是简单的修改了一下ffmpeg中的av_dump_format函数,使之把音频的tbn(即封装层的timebase)也打印出来,分析了如下容器:mp...转载 2018-02-26 16:38:03 · 2181 阅读 · 0 评论 -
MLT框架简介与部分命令解析
本文仅仅做为一篇入门文章,带领大家认识一下MLT这个框架(库)。一、简介 MLT的英文全称为MLT Multimedia Frameword,翻译过来为MLT多媒体框架。该框架国内用的人比较少,也几乎没有中文资料,本文的目的是带大家简单认识一下这个功能强大的库。 MLT的官网为:https://www.mltframework.org/, 可以在上面下载最新的源码,...原创 2019-04-10 14:17:15 · 11245 阅读 · 2 评论 -
如何计算视频和音频的时间戳间隔时间
本文均以在ffmpeg中的操作为例。原创 2017-08-02 15:03:04 · 4076 阅读 · 0 评论 -
libx264预设类参数详解
libx264预设类参数详解。转载 2017-08-08 15:56:11 · 1916 阅读 · 1 评论 -
ffmpeg常用转码参数解析
转码命令示例$ ffmpeg -i input.flv -vcodec h264 -s 960x540 -pix_fmt yuv420p -b 800k -r 25.0 -g 50 /–acodec aac -ab 64k –ac 2 -ar 44100 -profile:v high -level:v 3.1 -subq 5 -me_method /umh -me_range 8 -r...原创 2017-08-08 15:51:33 · 6800 阅读 · 0 评论 -
GPU视频解码之CUVID
项目中,需要对高清监控视频分析处理,经测试,其解码过程所占CPU资源较多,导致整个系统处理效率不高,解码成为系统的瓶颈。转载 2016-12-21 17:22:53 · 6439 阅读 · 0 评论 -
h264 NALU的获取与分析
0x00000001或0x000001是一个nalu的起始标志,遇到下一个此标志时为该nalu的结尾。起始标志的后面第一个字节(type)里包含有nalu的类型,type & 0x1F即为该nalu的类型(nal_unit_type),具体类型分析详见下节。原创 2016-12-05 10:36:33 · 11810 阅读 · 0 评论 -
H264画质分类
H264分为BP、EP、MP、HP四种画质转载 2016-11-17 07:21:06 · 2746 阅读 · 0 评论