Nginx搭建流媒体FLV视频服务器配置示例
FLV视频已经是绝大多数视频网站首选的视频类型,国内外著名的视频分享站YouTube、优酷、土豆、新浪博客、QIYI等等都是Flash播放器播放FLV/MP4视频。
FLV有两种发布方式
一、普通的HTTP方式:这种方式通常需要预先下载到本地才能播放,有缓冲,但下载后就不会占用服务器资源。
二、流媒体方式:无需下载,可以实时播放任意拖拽进度,用户体验好但很耗服务器资源。
安装模块
在编译安装Nginx的时候把Flv Stream模块加上
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_flv_module
make && make install
开启flv
server
{
listen 80;
server_name flv.qttc.net;
index index.html;
root /web_root/flv_files;
limit_rate_after 5m;
limit_rate 1m;
location ~ \.flv
{
flv;
}
access_log off;
}
保存重启就好。
参数说明:
limit_rate_after 5m # 开始加载不限速直到下载FLV视频大小超过5M。
limit_rate 1m # 当超过5m后开始限制1m/s 的速度下载。
一般用户刚打开的视频文件的时候需要预先下载较多的字节数量,这样的话边看边下载不用等待缓冲,在不影响应用户体验的情况下可以节省不少带宽,这两个值要根据实际情况微调。
拖拽实现
拖拽进度是用户经常触发的一种行为,默认的FLV不支持拖拽,如果要实现这个功能需要安装额外的插件模块得以实现。需要在制作FLV的时候往MetaData写入关键帧信息。
添加关键帧的工具很多,如Yamdi、FlvTool2等等,至于如何添加关键帧可以到这些工具的社区上找找。但无论如何都是按多少秒一帧来实现,帧越多就越流畅,但耗时也长,玩过flash的都知道。
相关推荐
-
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Flask 依赖于两个外部库: Werkzeug 和 Jinja2 . Werkzeug 是一个 WSGI (在 web 应用和多种服务器之间开发和部署的标准 Python 接口) 的工具集,Jinja2 负责渲染模板. 一.安装 Flask安装的前提条件 1.已安装python2.x版本 2.已安装easy_install 在安装flask之前,你必须要先安装python和easy_install,easy_install只支持pyhon2.x版本不支持python3.x版本,所以你在安
-
在 Django/Flask 开发服务器上使用 HTTPS
使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署.问题是这些内建服务器通常都不支持 HTTPS,我们想在开发的时候就能够使用和测试 HTTPS,不想还没测试就部署到生产环境,所以我们需要内建服务器能支持 HTTPS. 这个问题可以通过一个外部程序 stunnel 来解决,stunnel 的作用是通过 OpenSSL 库对 TCP 会话进行加密,建立起一个安全通道,保护没有加密功能或未加密的程序.其主要功能
-
使用Python的Flask框架实现视频的流媒体传输
Flask 是一个 Python 实现的 Web 开发微框架.这篇文章是一个讲述如何用它实现传送视频数据流的详细教程. 我敢肯定,现在你已经知道我在O'Reilly Media上发布了有关Flask的一本书和一些视频资料.在这些上面,Flask框架介绍的覆盖面是相当完整的,出于某种原因,也有一小部分的功能没有太多的提到,因此我认为在这里写一篇介绍它们的文章是一个好主意. 这篇文章是专门介绍流媒体的,这个有趣的功能让Flask应用拥有这样一种能力,以分割成小数据块的方式,高效地为大型请求提供数据,
-
Nginx搭建流媒体FLV视频服务器配置示例
FLV视频已经是绝大多数视频网站首选的视频类型,国内外著名的视频分享站YouTube.优酷.土豆.新浪博客.QIYI等等都是Flash播放器播放FLV/MP4视频. FLV有两种发布方式 一.普通的HTTP方式:这种方式通常需要预先下载到本地才能播放,有缓冲,但下载后就不会占用服务器资源. 二.流媒体方式:无需下载,可以实时播放任意拖拽进度,用户体验好但很耗服务器资源. 安装模块 在编译安装Nginx的时候把Flv Stream模块加上 复制代码 代码如下: ./configure --user
-
使用Nginx搭建流媒体服务器实现直播功能
写在前面 最近几年,直播行业比较火,无论是传统行业的直播,还是购物.游戏.教育,都在涉及直播.作为在互联网行业奋斗了多年的小伙伴,你有没有想过如果使用Nginx搭建一套直播环境,那我们该如何搭建呢?别急,接下来,我们就一起使用Nginx来搭建一套直播环境. 安装Nginx 注意:这里以CentOS 6.8服务器为例,以root用户身份来安装Nginx. 1.安装依赖环境 yum -y install wget gcc-c++ ncurses ncurses-devel cmake make pe
-
利用nginx与ffmpeg搭建流媒体服务器过程详解
需求 本文介绍的是利用nginx和ffmpeg搭建流媒体服务器的过程.例如这种场景:公司内部需要同时观看在线直播时,如果每个人直接观看必然给出口带宽带来压力,影响正常访问外网的同事.所以可以在内网通过nginx+ffmpeg拉一路直播流,然后内网的用户访问内网的这台流媒体服务器即可.通过nginx+ffmpeg还可以实现推流.拉流.转推甚至利用FFmpeg实时切片.视频处理等,实现一套直播服务模型. 环境 系统环境:CentOS release 6.7 (Final) 步骤 安装ffmpeg 安
-
Nginx搭建RTMP流媒体服务器的实现
目录 1 环境搭建 依赖库安装 源码下载与编译 编译过程 2 推流服务 2.1 利用文件推流 2.2 将一路流灌到nginx服务器rtmp进行推流 3 直播拉流 1 环境搭建 环境搭建主要是利用nginx服务器的插件模块nginx-rtmp-module进行rtmp的推拉流操作. 依赖库安装 安装过nginx的可以跳个这个步骤,主要是安装ssl.pcre和zlib库依赖 #安装ssl依赖库 sudo apt-get install openssl libssl-dev #安装pcre sudo
-
使用nginx搭建点播和直播流媒体服务器的方法步骤
环境 centos7 nginx 1 安装nginx依赖包 yum install gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel yamdi 2.下载解压nginx_mod_h264_streaming,让nginx支持flv,mp4流播放 wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz 解压后需要修改src目录下的ngx
-
Nginx搭建图片视频服务器的部署步骤
目录 1 前言 1.1 关于视频 1.2 关于图片 2 搭建图片服务器 2.1 配置文件 2.2 显示效果 3 搭建视频服务器 3.1 添加视频模块 3.2 配置文件 3.3 展示 1 前言 首先是俩故事: 1.1 关于视频 好几年前,我还在上上家公司就职的时候,工作电脑是不连外网的,内网开发,真滴难受,查啥资料的时候,只能用手机.有啥不会的,查到代码了,只能对着一个一个敲. 有一天,俺们接待了一个客户,想给他看我们新产品的的宣传视频,但是视频刚弄好,还在内网,他们坐在会议室聊着天等着看视频,俺
-
利用Ffmpeg获得flv视频缩略图和视频时间的代码
问题描述:获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持rmvb和rm格式. 不过有很多解决方法 FFmpeg的官方网址是 http://ffmpeg.mplayerhq.hu/ . 中文Wiki是 http://www.ffmpeg.com.cn/ ,资料很多. ㈠安装FFMEPG 操作系统:
-
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
HTTPS简介 HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的.HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议.Https使用的默认端口是443.更多HTTPS原理可以参考阮一峰老师的文章:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html SSL证书 证书类
-
关于Window Server2008 服务器上无法播放音频文件和FLV视频文件
在偌大的百度当中查找我所需要的资源信息,但网络上所描述的都不能解决,发生此类问题的人很多,但是都没有得到准确的解决方法!经个人各方面的尝试,其实非常简单的解决了无法播放音频文件的问题,如果各位今后也遇到此类问题,可按照我的方式处理: 若是3gp文件,在服务器IIS的MIME类型中直接添加扩展名为".3gp" MIME类型为"video/3gpp" 若是mp4文件,在服务器IIS的MIME类型中直接添加扩展名为".mp4" MIME类型为"
-
用nginx搭建简单的文件下载服务器的方法
1.修改nginx.conf配置文件,内容如下: server { listen 9000; #端口 server_name localhost; #服务名 charset utf-8; # 避免中文乱码 root E:\Download\java; #显示的根索引目录,注意这里要改成你自己的,目录要存在 location / { autoindex on; #开启索引功能 autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb.
随机推荐
- 15个常用的javaScript正则表达式(收藏)
- C++中头文件和源文件详细介绍
- 详解iOS App中调用AVAudioPlayer播放音频文件的用法
- Oracle中SQL语句连接字符串的符号使用介绍
- Python中itertools模块用法详解
- ADO.NET基础知识汇总
- 关于原生js中bind函数的简单实现
- jquery+ajax+C#实现无刷新操作数据库数据的简单实例
- php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
- php中的filesystem文件系统函数介绍及使用示例
- 创建mysql表分区的方法
- 对于Form表单reset方法的新认识
- Android使用socket创建简单TCP连接的方法
- java 中ArrayList迭代的两种实现方法
- 父窗口获取弹出子窗口文本框的值
- Android webview和js互相调用实现方法
- Java中如何获取mysql连接的3种方法总结
- Python3基础之输入和输出实例分析
- Android实现图片浏览器示例
- Spring Boot使用RestTemplate消费REST服务的几个问题记录