• +86 18940128339
  • 3056844889@qq.com

标签归档ffmpeg

ffmpeg安装 实现mp4转m3u8

自行选定 安装目录 我用的是 /data/ 目录

1.下载&安装nasm

# 下载
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz

# 解压
tar xvf nasm-2.14.tar.gz

# 进入目录
cd nasm-2.14

# 配置
./configure

# 编译&&安装
make && make install

2.下载&安装x264

# 下载
git clone https://code.videolan.org/videolan/x264.git

# 进入目录
cd x264

# 配置
./configure --prefix=/usr/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared

# 编译&&安装
make && make install

3.下载&安装 ffmpeg

# 下载
wget http://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz

# 解压
tar xvJf ffmpeg-4.3.1.tar.xz

# 进入目录
cd ffmpeg-4.3.1

#配置
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-shared  --enable-libx264

# 编译&&安装(这里耗时较长,20分钟+)
make && make install

配置时遇到的问题

在配置结束时,可能会出现类似提示:WARNING: using libx264 without pkg-config。

解决方案

编辑~/.bashrc文件,添加:

vi /.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#保存后使设置生效
source ~/.bashrc
测试ffmpeg
# 进入ffmpeg安装目录,这个目录是与ffmpeg配置时的--prefix参数对应的
cd /usr/local/ffmpeg/bin
# 执行
./ffmpeg
大概率出现以下提示
./ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
解决方案:
vi /etc/ld.so.conf

#已有
include ld.so.conf.d/*.conf
# 追加内容
/usr/local/ffmpeg/lib
/usr/local/lib

# 保存后执行
ldconfig

执行ffmpeg命令

测试视频切片

创建video文件夹 在video中创建hls文件夹 上传一个index.mp4 视频 执行下面命令

ffmpeg -i index.mp4 -hls_time 10 -hls_list_size 0
-hls_segment_filename ./hls/index_%05d.ts ./hls/index.m3u8

参数说明:

-i test.mp4:指定要处理的视频文件。
-hls_time 10:指定每个切片的时间为10秒。
-hls_list_size 0:切片列表限制,无限制。
-hls_segment_filename ./hls/index_%05d.ts:自定义切片的文件名,这里会生成类似:index_00001.ts的视频文件。
./hls/index.m3u8:保存切片信息的m3u8文件

添加环境变量

#编辑
vi .bash_profile
#添加内容并保存
export PATH=/usr/local/ffmpeg/bin:$PATH
#更新配置
 source ~/.bash_profile