Linux下安装ffmpeg
转载于:https://blog.csdn.net/sole_cc/article/details/51471022
从ffmpeg官网:http://ffmpeg.org/download.html下载最新的ffmpeg安装包
或网盘下载:https://pan.baidu.com/s/1zLbtjKcnxHGpWFCyvtxMhw 提取码:ks8n
然后通过如下命令解压:
tar jxvf ffmpeg-4.2.2.tar.bz2
如果解压报错:(转载于:https://blog.csdn.net/weixin_39998006/article/details/100171517)
[root@xxxxxxxxxx]# tar jxvf ffmpeg-4.2.2.tar.bz2 tar (child): bzip2: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now
解决办法:
yum -y install bzip2
配置
切换到解压后的目录下:
./configure --enable-shared --prefix=/usr/local/ffmpeg --disable-yasm --prefix表示程序安装的目录,这里设为/usr/local/ffmpeg。 --enable-shared表示生成动态链接库,可以供以后编程使用,同时生成的可执行程序也依赖这些动态库。 --disable-yasm表示禁用yasm。
编译
make
安装
make install
环境配置
安装完成后在/usr/local/ffmpeg下出现四个目录:
bin:可执行文件目录
lib:动态链接库目录
include:编程用到的头文件目录
share
不管是编程还是可执行程序的执行都需要依赖lib下面的动态库,有两个方法可以做到这一点: 直接将lib文件夹下的所有.so文件拷贝到/usr/lib下。 通过如下方式修改配置文件: 查看/etc/ld.so.conf文件,发现里面只有一句话: include ld.so.conf.d/ *.conf 表明其包含了ld.so.conf.d下所有的conf文件,于是可以在/etc/ld.so.conf.d/创建一个新的文件ffmpeg.conf,其中只包含一句话,即为ffmpeg的lib目录: /usr/local/ffmpeg/lib 再运行: sudo ldconfig 更新ld.so.cache,使修改生效。 为了在任何地方能够直接用ffmpeg运行,而不用使用如./ffmpeg或者 /usr/local/ffmpeg/bin/ffmpeg的方式运行程序,可以把可执行程序复制到bin目录下: sudo cp /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ sudo cp /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ sudo cp /usr/local/ffmpeg/bin/ffserver /usr/local/bin/ 或者也可以用创建链接的方式: sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ sudo ln -s /usr/local/ffmpeg/bin/ffserver /usr/local/bin/
没配置 /etc/ld.so.conf/ffmpeg.conf 文件 之前
配置之后
ffmpeg 将mp4转成m3u8命令
ffmpeg -i /home/video/test.mp4 -codec copy -vbsf h264_mp4toannexb -map 0 -f segment -segment_list /home/video/index.m3u8 -segment_time 10 /home/video/%03d.ts
/home/video/test.mp4 :源文件位置
/home/video/index.m3u8:生成的m3u8文件位置
/home/video/%03d.ts :生成的切片文件位置
-segment_time 10 : 每个.ts 切片视频时长为 10s
转载于:https://blog.csdn.net/sole_cc/article/details/51471022