基於ffplay的video流測試工具開發

直接基於ffmpeg來修改,去掉SDL。數據庫選用mongodb,方便用C語言對接db。
既然不需要顯示,那還是基於linux來開發比較方便一些。
一、setenv

yum -y install gcc gcc-c++ make git bzip2

二、compile

git clone https://git.videolan.org/git/x264.git

編譯x264:

./configure –prefix=/usr/local/x264 –enable-shared –enable-static –disable-asm

gcc -o x264 x264.o input/input.o input/timecode.o input/raw.o input/y4m.o output/raw.o output/matroska.o output/matroska_ebml.o output/flv.o output/flv_bytestream.o filters/filters.o filters/video/video.o

filters/video/source.o filters/video/internal.o filters/video/resize.o filters/video/fix_vfr_pts.o filters/video/select_every.o filters/video/crop.o input/avs.o input/lavf.o filters/video/cache-8.o
filters/video/depth-8.o input/thread-8.o filters/video/cache-10.o filters/video/depth-10.o input/thread-10.o libx264.a
-ldl -lavformat -lavcodec -lswresample -lavutil -lpthread -lswscale -lavutil -m64 -lm -lpthread -lrt -ldl

編譯fdk-aac:

wget https://nchc.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-2.0.0.tar.gz

./configure –prefix=/usr/local/fdkaac/ –enable-shared

編譯sdl2 , http://www.libsdl.org/download-2.0.php

./configure –prefix=/usr/local/sdl2 –enable-shared –enable-static

make;make install

編譯ffmpeg:

wget http://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2

./configure –prefix=/usr/local/ffmpeg –enable-gpl –enable-version3 –enable-nonfree –enable-pthreads –enable-postproc –disable-shared –enable-libx264 \

–extra-cflags=-I/usr/local/x264/include –extra-ldflags=-L/usr/local/x264/lib –disable-x86asm

三、install/runtime

[root@localhost ffmpeg]

# cat ff_setpath
export PATH=/usr/local/ffmpeg/bin:$PATH
export PKG_CONFIG_PATH=/usr/local/x264/lib/pkgconfig:/usr/local/fdkaac/lib/pkgconfig/:/usr/local/ffmpeg/lib/pkgconfig/:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/sdl2/lib/pkgconfig:$PKG_CONFIG_PATH

cat ff_build.sh

mkdir ffbuild/bin
./configure –prefix=/home/gitwork/videoplay/ffbuild/bin –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –disable-x86asm –enable-ffplay –enable-shared –disable-static –enable-libx264 –extra-cflags=-I/home/gitwork/videoman/third/x264/include –extra-ldflags=-L/home/gitwork/videoman/third/x264/lib –enable-sdl2 –extra-cflags=-I/home/gitwork/videoman/third/sdl2/include –extra-ldflags=-L/home/gitwork/videoman/third/sdl2/lib –extra-cflags=”-I/home/gitwork/videoman/third/mongodb/include/libbson-1.0 -I/home/gitwork/videoman/third/mongodb/include/libmongoc-1.0″ –extra-ldflags=”-L/home/gitwork/videoman/third/mongodb/lib -lmongoc-1.0 -lbson-1.0″

vi /etc/ld.so.conf.d/ff_lib.conf

/usr/local/x264/lib/
/usr/local/fdkaac/lib/
/usr/local/ffmpeg/lib/
/usr/local/sdl2/lib/
/usr/local/mongodb/lib/
# ldconfig

四、測試驗證
# 需要快速測試出視頻流通斷情況,首開時間/時延/卡頓率都不能測,太耗時了。

發佈了229 篇原創文章 · 獲贊 30 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章