欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

srt学习笔记二:支持srt的ffmpeg 博客分类: ffmpeg ffmpeg 

程序员文章站 2024-03-14 16:09:04
...
注意:scl enable devtoolset-7 bash  
这个不是默认的gcc


centos安装ffmpeg
https://www.jianshu.com/p/94a1759ceb34

~/ffmpeg_source 源码
~/ffmpeg_build  安装
~/bin 二进制

注意pkgconfig的设置,so的寻找路径,配置错误有可能找不到so,会有lib和lib64的问题,
也可以用LD_LIBRARY_PATH 帮助解决

yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel harfbuzz-devel -y
yum install bzip2 bzip2-devel -y
yum install openssl-devel  tcl tcl-devel -y
 


yum install centos-release-scl -y
yum install devtoolset-7-toolchain -y
scl enable devtoolset-7 bash



####Nasm
cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.bz2
tar xjvf nasm-2.14.tar.bz2
cd nasm-2.14
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install


########Yasm
cd ~/ffmpeg_sources
curl -O -L http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install



########264
cd ~/ffmpeg_sources
git clone https://github.com/mirror/x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install 


########265
cd ~/ffmpeg_sources
hg clone https://bitbucket.org/multicoreware/x265
cd ~/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install 
cp ~/ffmpeg_build/bin/x265 ~/bin/


###########fdk-acc
cd ~/ffmpeg_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make 
make install


####libmp3lame  mp3编码库
cd ~/ffmpeg_sources
curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install

######libopus   音频编码
cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.tar.gz
tar xzvf opus-1.3.tar.gz
cd opus-1.3
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install


######libogg
首先对输入音频PCM信号进行时频分析,决定MDCT的长度,即加窗,然后进行MDCT变换;同时对原始音频信号要进行FFT分析。两种变换的频谱系输入给心理声学模型单元,MDCT系数用于噪声掩蔽计算,H可结果用于音调掩蔽特性计算,共同构造总的掩蔽曲线。然后根据MDCT系数及掩蔽曲线,对频谱系数进行线性预测分析用LPC(Linear Prediction Coefficience,线性预测系数)表示频谱包络,即基底曲线(Floor Curve);或通过线性分段逼近方式获得基底曲线。从MDCT系数中去掉频谱包络则得到白化的残差频谱(Residue),由于残差频谱波动范围明显变小,从而降低量化误差。之后可以选择是否采用声道耦合(Channel Coupling)技术进一步降低冗余度,耦合主要是将左右声道数据从直角坐标映射到平方极坐标;最后对白化的残差信号有效地以矢量量化表示。最后将要传输的各种信息数据按Vorbis定义的包格式组装,形成Vorbis压缩码流。
cd ~/ffmpeg_sources
curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz
tar xzvf libogg-1.3.3.tar.gz
cd libogg-1.3.3
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install

#####vorbis 压缩
cd ~/ffmpeg_sources
curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.gz
tar xzvf libvorbis-1.3.6.tar.gz
cd libvorbis-1.3.6
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install





########vpx   264 265
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install



#####freetype2   字体引擎
cd ~/ffmpeg_sources
curl -O -L  https://github.com/aseprite/freetype2/archive/VER-2-6-3.tar.gz
tar xzvf VER-2-6-3.tar.gz
cd freetype2-VER-2-6-3
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
cp ~/ffmpeg_build/bin/freetype-config ~/bin/


#######srt add by hao
git clone https://github.com/Haivision/srt
#./configure --prefix="$HOME/ffmpeg_build"  --bindir="$HOME/bin"  这里的bindir 不起作用
#./configure
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" 
make 
make install 


这里检查 pkgconfig 的路径
如果不是$HOME/ffmpeg_build/lib/pkgconfig
则需要把haisrt.pc  srt.pc 从 $HOME/ffmpeg_build/lib64/pkgconfig copy 到$HOME/ffmpeg_build/lib/pkgconfig



#####ffmpeg  注意加上enable-libsrt 
cd ~/ffmpeg_sources
curl -O -L https://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2
tar xjvf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs=-lpthread \
  --extra-libs=-lm \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libfdk_aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-libsrt \
  --enable-nonfree

make
make install


如果rtmp找不到尝试 查一下https://blog.csdn.net/fireroll/article/details/8607955

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/ffmpeg_build/lib64/


相关标签: ffmpeg