ffmpeg开发环境搭建--(linux)

1.     下载源码: http://ffmpeg.org/download.html


2.     解压:tar –xvf ffmpeg-3.2.1.tar.bz2


3.     配置

Eg:./configure--enable-shared --enable-memalign-hack --disable-debug  --prefix=/home/heya/ffmpeg/out/ --arch=arm --cross-prefix=arm-hisiv200-linux- --target- os=linux

 注意:

--prefix=/home/heya/ffmpeg/out/ 生成文件(可执行文件,头文件,库文件)输出的路径。

--arch=arm 芯片方案

--target-os=linux  系统方案

--arch=arm --cross-prefix=arm-hisiv200-linux- 交叉编译工具链


4.     编译 make


5.     安装输出make install,输出(bin; include;lib;share四个文件夹)


6.    可执行行文件移植: 将lib中的非静态库移植到根文件系统的lib或者usr/lib/目录下,将bin移植到根文件系统bin目录下。

        使用ffmpeg

Eg:ffmpeg -i output.ts -codec copy-hls_list_size 120 -hls_time 10 testlive.m3u8


8.     库移植开发:

# 将lib中的非静态库移植到根文件系统的lib或者user/lib/目录下。

# 将lib中的非静态库移植到开发项目的指定库文件夹中。

# 将include下面的所有文件和文件夹拷贝到开发项目的指定头文件夹中。

# 此时已经将环境搭建完成,可以根据自己的需求对库文件和头文件进行裁剪。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我来简单回答一下。 首先,要明确的是,FFmpeg 是一个开源的跨平台音视频处理库,支持包括解码、编码、封装、解封装等功能。而解封装(Demuxing)是指将音视频封装格式中的音视频流解析出来,以便后续对音视频流进行解码、编码等操作。 在 Android 基于 FFmpeg 开发简易播放器中,我们可以使用 FFmpeg 提供的 API 来进行解封装。具体步骤如下: 1. 打开输入文件 使用 FFmpeg 的 avformat_open_input() 函数打开要解封装的音视频文件,该函数返回一个 AVFormatContext 结构体指针,该指针包含了输入文件的相关信息。 2. 寻找音视频流 使用 FFmpeg 的 avformat_find_stream_info() 函数读取输入文件的文件头信息,并寻找其中包含的音视频流。该函数会将每个音视频流的信息保存在 AVStream 结构体中。 3. 选择音视频流 根据需要播放的音视频流类型,在所有寻找到的音视频流中选择对应的流。可以通过判断 AVStream 结构体中的 codecpar->codec_type 来确定该流是音频流还是视频流。 4. 获取解码器 使用 FFmpeg 的 avcodec_find_decoder() 函数获取对应的解码器,并使用 avcodec_open2() 函数打开解码器。 5. 循环读取数据包 使用 FFmpeg 的 av_read_frame() 函数循环读取音视频数据包(AVPacket 结构体),并将数据包送到解码器进行解码。 6. 关闭解码器和输入文件 在播放完成后,需要使用 avcodec_free_context() 函数释放解码器占用的资源,并使用 avformat_close_input() 函数关闭输入文件。 以上就是基于 FFmpeg 进行解封装的大致步骤。当然,在实际开发中还有很多细节需要注意,比如错误处理、内存管理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值