您好,登錄后才能下訂單哦!
HTML5 + 流媒體文件
目前安裝過的服務器版本
ubuntu 1.3
Centos 6.5
下面2個是在Centos上使用的
Centos 準備安裝刪除已安裝包
yum erase ffmpeg x264 x264-devel
Centos 安裝各種依賴包
yum install gcc make nasm pkgconfig wget curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 pcre.i386 pcre.x86_64 pcre-devel.i386 pcre-devel.x86_64
整個過程中可能還需要 g++ gcc git svn 等工具 自己隨便下下就可以了
centos 的 gcc g++ 安裝方法 yum install gcc gcc-c++ 。
該連接可下載下面所有的包 http://pan.baidu.com/s/1eQvHauu
首先安裝ffmpeg和他的組件
1.1 安裝nasm編譯器支持匯編優化(lame庫需要)
對安裝了apt-get的linux機器,可直接執行以下命令安裝nasm。
# sudo apt-get install nasm
也可以用源代碼編譯并安裝。先在網上獲取nasm-2.10.05.tar.bz2
解壓:
tar xvf nasm-2.10.05.tar.bz2
cd nasm-2.10.05
配置安裝目錄為/usr/bin:
./configure --prefix=/usr
編譯并安裝:
make && make install
1.2 安裝yasm編譯器支持匯編優化(ffmpeg庫需要)
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
解壓:
tar xvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
配置安裝目錄為/usr/bin:
./configure --prefix=/usr
編譯并安裝:
make && make install
1.3 安裝lame庫支持mp3音頻
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --enable-nasm
make && make install
1.4 安裝faac庫支持mpeg4 aac音頻
wget http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz
tar xvf faac-1.28.tar.gz
cd faac-1.28
./configure --with-mp4v2
這里需要修改:
vim common/mp4v2/mpeg4ip.h
從123行開始修改此文件mpeg4ip.h,到129行結束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
make && make install
1.5 安裝libogg庫支持ogg音頻
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure
make && make install
1.6 安裝theora庫
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
tar xvf libtheora-1.1.1.tar.gz
cd libtheora-1.1.1
./configure
make && make install
1.7 安裝x264庫支持h.264視頻轉碼
執行以下命令獲取x264的最新源代碼
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared
make && make install
1.8 安裝xvid庫支持mpeg4視頻轉碼
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
獲取最新的xvid mpeg4編×××源代碼
tar xvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic
./configure
make && make install
1.9 安裝libnut
該軟件需要用svn獲取源代碼,svn可以直接用yum install svn來裝。
先下載:
svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
下載后代碼保存在新建立的libnut目錄下,對于64位Linux需要修改配置文件:
cd libnut
vim config.mak
在最后一個CFLAGS下一行增加:
CFLAGS += -fPIC
然后編譯安裝:
make && make install
1.10 libvpx
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --enable-shared
make && make install
1.11 FAAD2
wget http://downloads.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz
tar zxvf faad2-2.7.tar.gz
cd faad2-2.7
./configure
make && make install
1.12 安裝vorbis庫
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar xvf libvorbis-1.3.4.tar.gz
cd libvorbis-1.3.4
./configure
make && make install
1.13 修改鏈接環境變量
上面的媒體支持庫安裝完后,可以設置下環境準備編譯ffmpeg了。不過在此之前必須修改環境變量
vim /etc/ld.so.conf
在文件末增加一行:
/usr/local/lib
然后生效之:
ldconfig -v
2 編譯ffmpeg
執行以下命令獲取ffmpeg源代碼
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --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 --enable-libnut --enable-libtheora
***需要保證 --enable-libx264能執行
make && make install
ldconfig -v
分割器分2種
3. TS流分割器segmenter的安裝與使用
第一個 m3u8-segmenter
git clone https://github.com/johnf/m3u8-segmenter
下載m3u8-segmenter 下載后不要用它的反復編譯,直接取m3u8-segmenter.c文件。
執行
gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil
第二個 segmenter
svn co http://httpsegmenter.googlecode.com/svn/trunk segmenter
cd segmenter
gcc -Wall -g segmenter.c -o segmenter -lavformat -lavcodec -lavutil -std=c99
安裝好其中一個后
cp segmenter /usr/bin/
把執行文件拷貝過去。
下面給2個超簡單的執行例子
直接轉成ts
ffmpeg -i vp5.flv -acodec copy -vcodec libx264 vp5.ts
分割轉成ts 一秒為單位
ffmpeg -ss 0 -t 30 -i vp5.flv -acodec copy -vcodec libx264 1.ts
ffmpeg -ss 30 -t 60 -i vp5.flv -acodec copy -vcodec libx264 2.ts
合并
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
切割
m3u8-segmenter -i test.ts -d 10 -p segmenter_test -m test.m3u8 -u http://127.0.0.1:8080/Video/
這樣就可以切片出m3u8文件 直接使用hls
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。