Linux下视频流媒体服务器搭建详解(2)

对于大文件用上面这种方式有可能出现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%04d.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; }

即可使用播放器打开远程连接。

hlr_playback

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fdd04d694511a1613770afd91de365d7.html