`
haoningabc
  • 浏览: 1476201 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

srt学习笔记二:支持srt的ffmpeg

阅读更多
注意: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/


分享到:
评论

相关推荐

    ffmpegSRT推拉流(EXE,非源码)(水印版,不喜勿下)

    在本压缩包中提供的"ffmpegSRT推拉流(EXE,非源码)(水印版,不喜勿下)"是FFmpeg的一个预编译版本,特别加入了对SRT(Secure Reliable Transport)协议的支持。SRT是一种用于实时传输音视频数据的开源协议,由...

    FFMPEG: Download failed: 6;"Couldn't resolve host name"

    当我们在编译OpenCV 4.1.0版本时,可能会遇到与FFmpeg相关的错误,如“FFMPEG: Download failed: 6;"Couldn't resolve host name"”。这个错误意味着在下载或更新FFmpeg库的过程中,系统无法解析主机名,...

    ffmpeg-4.3.2-1.5.5-API文档-中文版.zip

    Maven坐标:org.bytedeco:ffmpeg:4.3.2-1.5.5; 标签:bytedeco、ffmpeg、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码...

    ffmpeg-4.3.2-1.5.5-API文档-中英对照版.zip

    Maven坐标:org.bytedeco:ffmpeg:4.3.2-1.5.5; 标签:bytedeco、ffmpeg、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    ffmpeg库:ffmpeg-n5.1-latest-win64-gpl-shared-5.1

    1. **音视频编码**:FFmpeg 支持多种编码格式,如H.264、AV1、VP9(视频)和AAC、Opus、Vorbis(音频)。它能够进行视频编码、解码,将视频流转换为不同的编码格式。 2. **容器格式处理**:FFmpeg 支持众多的多媒体...

    srt协议的caller模式的c语言源码

    - **事件驱动**:SRT API支持异步操作,通常会使用select、poll或epoll等I/O多路复用机制来处理连接和数据传输。 4. 源码分析: - **初始化SRT上下文**:源码中会有创建SRT上下文(`srt_socket()`)的代码,这是...

    ffmpeg学习的笔记

    二、FFmpeg命令行使用 1. 转换格式:`ffmpeg -i input.mp4 output.webm`,此命令将MP4文件转换为WebM格式。 2. 裁剪与缩放:`ffmpeg -i input.mp4 -vf "crop=w:h:x:y, scale=width:height" output.mp4`,裁剪视频...

    ffmpeg 学习 笔记 文档 杂记

    ffmpeg学习笔记文档

    FFmpeg:Android集成FFmpeg

    在Android中集成FFmpeg标签(空格分隔): Android原文链接:集成方法Step 1. Add the JitPack repository to your build file//Add it in your root build...FFmpeg:-SNAPSHOT'}使用方法://调用FFmpeg命令,command为

    video-srt-gui-ffmpeg-0.3.2-x64_2.zip

    支持中文字幕和英文字幕制作,视频识别无需上传原视频,可同时处理多个文件,video srt软件适合视频后期制作人员使用,轻松配字幕。 软件介绍 video srt是一款非常智能好用的视频、音频自动生成srt字幕软件。video ...

    FFmpeg 从入门到精通

    1. 安装 FFmpeg:读者可以根据需要安装 FFmpeg,包括编译安装和预编译安装。 2. 了解 FFmpeg 的基本信息:读者需要了解 FFmpeg 的基本信息,包括 FFmpeg 的架构、配置文件等。 3. 使用 FFmpeg 命令行工具:FFmpeg ...

    ffmpeg-5.0-1.5.7-API文档-中文版.zip

    Maven坐标:org.bytedeco:ffmpeg:5.0-1.5.7; 标签:bytedeco、ffmpeg、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...

    ffmpeg-5.0-1.5.7-API文档-中英对照版.zip

    Maven坐标:org.bytedeco:ffmpeg:5.0-1.5.7; 标签:bytedeco、ffmpeg、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    视频自动加字幕软件win版video-srt-gui-ffmpeg-0.2.6-x64.zip

    video-srt-gui-ffmpeg支持多种视频格式,如MP4、AVI、MOV等。 2. AI识别:软件会分析视频中的音频部分,运用AI语音识别技术将其转化为文字。这一过程可能需要一定时间,取决于视频长度和语音清晰度。 3. 创建字幕...

    最新ffmpeg支持https

    FFmpeg支持代理设置,但需要正确配置代理服务器的地址和端口。 3. 性能优化:HTTPS的加密过程会消耗额外的计算资源,特别是在移动设备上。因此,开发者需要关注性能影响,可能需要调整加密算法的参数,或者考虑硬件...

    没序号webvtt to srt

    WebVTT(Web Video Text Tracks)和SRT(SubRip Subtitle)是两种常见的字幕格式,主要用于视频内容的字幕同步与显示。在处理网络视频时,有时需要将WebVTT格式转换为SRT格式,以适应不同的播放器或平台的要求。本文...

    window10下cmake配置opencv时出现ffmpeg缺少文件相关错误,ffmpeg相关dll从这里下载

    2 FFMPEG: Download failed: 7;"Couldn't connect to server" 3 4 For details please refer to the download log file: 5 6 D:/study/opencv_with_contrib_test_sln/CMakeDownloadLog.txt 7 8 Call Stack...

    安装opencv所需文件(xvid,x264,ffmpeg等)

    对于linux下使用opencv不像windows那么方便,尤其整个安装过程,更甚者对于linux下opencv安装过程中要包含进去视频开发部分对于初学者来说是比较困难的。 这里是安装linux下opencv,并要使opencv包含视频开发(如使用...

    ffmpeg.exe在windows修正乱码,命令行支持中文字幕文件名

    在FFmpeg中,字幕通常以SRT、ASS或SUB等格式存在,而这些文件名可能包含中文。通过这个更新,用户可以在命令行中直接指定这些文件,FFmpeg将正确解析并将其与视频文件合并,不会因为文件名中的中文字符而出现错误。 ...

    通过FFMPEG给视频加字幕

    2. ASS (Advanced SubStation Alpha) 和 SSA (SubStation Alpha):比SRT更复杂,支持更多的格式和样式,如字体、颜色、位置等。 四、注意事项 - 字幕文件的时码必须与视频内容匹配,否则字幕会出现错位。 - 使用硬...

Global site tag (gtag.js) - Google Analytics