对于大文件用上面这种方式有可能出现m3u8缺少索引的情况,因此也可以使用以下的方式对文件进行转换。
ffmpeg -i bigfile.mp4 -codec:v libx264 -codec:a aac -map 0
-f ssegment -segment_format mpegts -segment_list tos.m3u8 -segment_time 10
taste_of_shanghai%04
d.ts
直接使用Nginx访问文件路径
不需要多余的软件,直接将m3u8文件所在目录设置为http server的根目录。
server {
listen
80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
root /var/www/html;
index index.html index.htm;
}
即可使用播放器打开远程连接。
Nginx + jwplayer
Nginx编译时增加mp4和flv模块,可以让Nginx支持flv和mp4格式。为了后面说明支持RMTP协议,同时在增加RTMP模块。
安装依赖包
yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64
tar xzvf zlib
-1.2.8.tar.gz
cd zlib
-1.2.8
./configure
make
make install
tar xzvf pcre
-8.37.tar.gz
cd pcre
-8.37
./configure
make
make install
tar xzvf yamdi-
1.9.tar.gz
cd yamdi-
1.9
./cofigure
gcc yamdi.
c -o yamdi -
O2 -
Wall
tar xzvf openssl
-1.0.1t.tar.gz
cd openssl
-1.0.1t
./config
make depend
make install
安装ffmpeg以及依赖包
需要安装yasm, x264, LAME, libogg,libvorbis, libvpx, faad2, faac
# 汇编工具
# 请网络搜索安装包
unzip yasm-1.2.0-1.el6.x86_64.zip
rpm -ivh yasm-1.2.0-1.el6.x86_64.rpm
# h.264编码
# http videolan.org
tar xjvf last_x264.tar.bz2
cd x264-snapshot-
20160718-
2245
./configure --enable-shared
make
make
install
# LAME mp3编码器
wget
http:/
/downloads.sourceforge.net/project/lame/lame/3.99/lame-
3.99.
5.tar.gz
tar xzvf lame-
3.99.
5.tar.gz
cd lame-
3.99.
5
./configure --enable-nasm
make
make install
# libogg 音频编码器
wget http:
//downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
tar xzvf libogg
-1.3.2.tar.gz
cd libogg
-1.3.2
./configure
make
make install
# libvorbis 音频编码器
wget http:
//downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
tar xzvf libvorbis
-1.3.5.tar.gz
cd libvorbis
-1.3.5
./configure
make
make install
# libvpx VP8编码解码器
# 网络搜索
tar xjvf libvpx-
1.5.
0.tar.bz2
cd libvpx-
1.5.
0
./configure --enable-shared
make
make
install
# FAAD2 MPEG-2和AAC格式的编解码器
wget
project/faac/faad2-src/faad2-
2.7/faad2-
2.7.tar.gz
tar xzvf faad2-
2.7.tar.gz
cd faad2-
2.7
./configure
make
make
install
# faac AAC编解码器
wget
project/faac/faac-src/faac-
1.28/faac-
1.28.tar.gz
tar xzvf faac-
1.28.tar.gz
cd faac-
1.28
./configure
make
make
install
# xvid 视频编码
wget http:
//downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar zxvf xvidcore
-1.3.2.tar.gz
cd xvidcore/build/generic
./configure
make
make install
# ffmpeg 转换工具
wget -3.1.1.tar.bz2
tar xjvf ffmpeg
-3.1.1.tar.bz2
cd ffmpeg
-3.1.1
./configure
--prefix=/opt/ffmpeg/ \
--enable-version3 \
--enable-libvpx \
--enable-libfaac \
--enable-libmp3lame \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-shared \
--enable-gpl \
--enable-postproc \
--enable-nonfree \
--enable-avfilter \
--enable-pthreads
make
# 可以忽略编译过程中的警告信息
make install
修改/etc/ld.so.conf
inclue ld.so.conf.d/*.conf
/
lib
/lib64
/usr/
lib
/usr/lib64
/usr/local/
lib
/usr/local/lib64
/opt/ffmpeg/
lib
执行ldconfig使修改生效。
编码测试
ffmpeg -
i ./a_day_with_htc_vive.avi -f hls ./htcvive.m3u8