### ffmpeg安装及视频分片加密使用文档 #### 一、ffmpeg简介与应用场景 ffmpeg是一款强大的跨平台音视频处理工具,可以实现音视频的格式转换、音视频编码与解码、音视频剪辑等功能。在互联网视频领域,ffmpeg常用于视频流的实时转码、视频切片、视频加密等场景。 #### 二、ffmpeg安装流程 本节详细介绍如何在Linux环境下安装ffmpeg,并提供了必要的软件包下载链接。以下步骤已经过实际测试,确保可行。 ##### 1. 安装yasm yasm是一款高性能的汇编语言编译器,是ffmpeg依赖的一个组件。 ``` tar xzvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure make make install ``` ##### 2. 安装x264 x264是一个高质量的H.264/MPEG-4 AVC编码器,也是ffmpeg依赖的组件之一。 ``` tar -xjvf last_x264.tar.bz2 进入解压目录执行: ./configure --enable-shared --enable-static --disable-asm make make install ``` 注意:在`./configure`阶段没有指定`--prefix`参数,因此`libx264.so`和`libx264.a`会被安装到`/usr/local/lib/`目录下。后续步骤中将需要修改这些配置。 ##### 3. 安装ffmpeg ffmpeg的核心安装步骤如下: ``` tar -xjvf ffmpeg-3.3.1.tar.bz2 cd ffmpeg-3.3.1/ ./configure --enable-shared --enable-gpl --enable-libx264 --prefix=/usr/local/ffmpeg # --enable-shared:允许产生动态库 # --prefix=/usr/local/ffmpeg:指定安装路径 make clean make make install ``` 安装完成后,还需要修改`/etc/ld.so.conf`文件: - 新增 `/usr/local/ffmpeg/lib` - 新增 `/usr/local/lib` 然后执行`ldconfig`使配置立即生效。最后通过`/usr/local/ffmpeg/bin/ffmpeg -version`命令验证安装结果。 #### 三、使用ffmpeg进行视频切片 ffmpeg不仅可以处理单一的音视频文件,还可以将其切分为多个较小的文件,便于流媒体播放。下面介绍使用ffmpeg进行视频切片的方法,包括普通切片和加密切片。 ##### 1. 普通切片 在使用HLS技术进行视频流播放时,需要将视频转换为TS片段和M3U8播放列表。ffmpeg可以通过以下命令完成这一任务: ``` ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict experimental -f hls output.m3u8 ``` 其中: - `-i input.mp4`:指定输入文件 - `-c:v libx264`:指定视频编码器 - `-c:a aac -strict experimental`:指定音频编码器 - `-f hls`:指定输出格式为HLS - `output.m3u8`:输出的M3U8播放列表文件 默认情况下,每段切片长度为2秒,M3U8文件中只保存最新的5个片段的信息。可以通过添加以下参数来控制切片行为: - `-hls_time n`:设置每段切片的长度(单位:秒) - `-hls_list_size n`:设置播放列表中保存的最大片段数量 - `-hls_wrap n`:设置多少个片段后开始覆盖旧片段 - `-hls_start_number n`:设置播放列表中的序列号起始值 例如: ``` ffmpeg -i 1.mp4 -c:v libx264 -c:a copy -f hls -threads 8 -hls_time 5 -hls_list_size 12 index.m3u8 ``` 或者: ``` ffmpeg -i ./bigbang.mp4 -c:v libx264 -c:a aac -strict experimental -f hls -hls_time 5 -hls_list_size 0 output.m3u8 ``` ##### 2. 加密切片 为了保护视频内容不被非法获取,可以在切片的同时对视频进行加密。 - **准备工作**:创建一个目录,并在其中放置以下文件: - `input.mp4`:待切片的视频文件 - `videokey.info`:包含`.key`文件URL信息 - `video.key`:密钥文件 `videokey.info`文件示例内容: ``` http://example.com/video.key ``` `video.key`文件内容示例: ``` DMvkBs7vNlok1kj9 ``` - **切片并加密**: ``` ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -hls_time 5 -hls_list_size 0 -hls_key_info_file videokey.info output.m3u8 ``` 这里`-bsf:v h264_mp4toannexb`指定了将MP4封装的H.264流转换为适合网络传输的Annex B格式。 通过以上步骤,我们可以有效地利用ffmpeg进行视频切片以及加密处理,适用于各种流媒体播放场景。



















- weixin_392880232019-04-29很详细哦,不错
- jessieque2020-02-25没有什么用,word文档一共就3页多点,都是ffmpeg的安装和操作命令,对加密的实现什么都没有讲

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


