nginx+video-thumbextractor生成视频缩略图
2014-08-24 19:20
459 查看
前言
这年头都看网络视频吧,优酷,搜狐,土豆,爱奇艺.打开页面都能看到视频的一个截图,这些图片怎么来的,难道是用暴风影音截 图弄出来的?不是吧,一般是用服务器上的程序截图之后传到图片服务器上了。可以用php、java等等来生成视频缩略图,nginx也有这方面的功能,一 起来探索一下。系统环境
Linux:centos 5/6ImageMagick:yum安装
LibJpeg: v8
地址:http://www.ijg.org/files/
nginx:1.4.2
地址:http://nginx.org/en/download.html
nginx-video-thumbextractor:v0.1.0 .
地址:https://github.com/wandenberg/nginx-video-thumbextractor-module
支持格式
mp4, mov and flv.最小图片
最小能生成16x16的图片软件安装
安装ImageMagick# yum install ImageMagick* ImageMagick-*
安装libjpeg
# wget http://www.ijg.org/files/jpegsrc.v8.tar.gz # tar -xzvf jpegsrc.v8.tar.gz # cd jpeg-8/ # ./configure --enable-static --enable-shared # make #make install
安装yasm
# wget https://github.com/yasm/yasm/archive/master.zip # unzip master.zip #cd yasm-master # ./configure # make # make install
安装ffmpeg
# wget http://ffmpeg.org/releases/ffmpeg-2.0.1.tar.gz # tar -xzvf ffmpeg-2.0.1.tar.gz # cd ffmpeg # ./configure --prefix=/usr --disable-ffserver --disable-ffplay --enable-shared # make # make install
安装nginx
# wget https://codeload.github.com/wandenberg/nginx-video-thumbextractor-module/zip/master -O nginx-video-thumbextractor-module-master.zip # unzip nginx-video-thumbextractor-module-master.zip # wget http://nginx.org/download/nginx-1.4.2.tar.gz # tar -xzvf nginx-1.4.2.tar.gz #cd nginx-1.4.2 # ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../nginx-video-thumbextractor-module-master --with-cc-opt='-I /usr/include/ImageMagick' # make # make install
nginx配置
server { listen 80; server_name test.ttlsa.com; access_log /data/logs/nginx/test.ttlsa.com.access.log main; index index.html index.php index.html; root /data/site/test.ttlsa.com; location / { } location ~ /2687/(.*) { alias /data/site/test.ttlsa.com/2687/; video_thumbextractor; video_thumbextractor_video_filename $1; video_thumbextractor_video_second $arg_second; video_thumbextractor_image_width $arg_width; video_thumbextractor_image_height $arg_height; } }
测试
创建站点目录# mkdir /data/site/test.ttlsa.com/2687/
上传文件到这个目录下,我传的是v_baofeng.mp4
访问
下面三种访问方式都是正确的.second这个才是是必填的,否则会出现400错误. http://test.ttlsa.com/2687/v_baofeng.mp4?second=77&width=400&height=200
nginx视频缩略图-1
http://test.ttlsa.com/2687/v_baofeng.mp4?second=77&width=300
nginx视频缩略图-2
http://test.ttlsa.com/2687/v_baofeng.mp4?second=77&height=100
nginx视频缩略图-3
说明:second视频中的时间点,秒为单位。width生成的图片宽度,height生成图片高度。两个参数都设置会裁切图片,如果只设置一个那么会根据那个参数等了比例生成图片.
指令
video_thumbextractor语法: video_thumbextractor
配置段: location
发行版本: 0.1.0
开启缩略图功能
video_thumbextractor_video_filename
语法: video_thumbextractor_video_filename filename
默认值: none
配置段: http
发行版本: 0.1.0
文件名,如果文件不存在会返回404
video_thumbextractor_video_second
语法: video_thumbextractor_video_second second
默认值: none
配置段: http
发行版本: 0.1.0
取某一秒的关键帧,如果指定的时间超过了视频的长度,将会返回404.如果未指定这个值将会返回400错误.
video_thumbextractor_image_width
语法: video_thumbextractor_image_width width
默认值: 0
配置段: http
发行版本: 0.1.0
生成图片的宽度,这是一个可选项.如果仅仅指定了宽度,那么图片高度会按原比例缩放
video_thumbextractor_image_height
语法: video_thumbextractor_image_height height
默认值: 0
配置段: http
发行版本: 0.1.0
生成图片的高度,这是一个可选项.如果仅仅指定了高度,那么图片宽度会按原比例缩放
如果这两项都指定了,那么会裁切图片.到时候大家看到的图片可能就是残缺的.
常见错误
1、Wrong JPEG library version: library is 80, caller expects 62JPEG版本不匹配,需要安装v8版本。
安装过程麻烦了一点,但是配置和使用非常简单。用户上传视频到视频服务器上之后,使用这个方法就可以去到视频的缩略图了.是不是很简单
原博文:http://www.ttlsa.com/html/2687.html
相关文章推荐
- nginx+video-thumbextractor生成视频缩略图
- nginx-video-thumbextractor-module缩略图安装
- 视频上传过程中自动转换为flv格式并截图生成缩略图
- Java 生成视频缩略图(ffmpeg)
- PHP配合nginx动态生成缩略图
- C#上传视频生成缩略图
- 视频生成缩略图如何实现
- nginx实时生成缩略图到硬盘上
- 利用nginx实时生成缩略图
- 帮助你生成全屏视频背景的超棒jQuery插件 - BigVideo.js
- Java 生成视频缩略图(ffmpeg)
- Java生成视频缩略图
- php 使用 ffmpeg 转换视频,截图,并生成缩略图
- android为视频、音乐、图片等生成缩略图
- android为视频、音乐、图片等生成缩略图
- Java 视频生成缩略图教程
- Java + ffmpeg 生成视频缩略图
- php 使用 ffmpeg 转换视频,截图,并生成缩略图
- 上传视频和图片的同时,生成缩略图
- nginx实时生成缩略图到硬盘上