zoukankan      html  css  js  c++  java
  • 树莓派编译安装 FFmpeg(添加 H.264 硬件编解码器支持)

    说明

    FFmpeg 是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能、视频格式转换等。众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了 H.264 的硬件编解码器,因此本文将详解在树莓派配置 FFmpeg 使其支持硬件编解码器并编译安装的过程。

    准备工作

    树莓派一个(1 至 3 代都可以)
    已连接到网络( github 无障碍)

    步骤

    更新源并安装 git

    sudo apt-get update
    sudo apt-get install git
    

    安装 libx264-dev

    sudo apt-get install libx264-dev
    

    ffmpeg 配置脚本 config_ffmpeg_rpi.sh ,放进 ffmpeg 目录

    #!/bin/sh
    PREFIX=/usr/local
    ./configure 
    --enable-gpl --enable-version3 --enable-nonfree 
    --enable-static --disable-shared 
    
    --prefix=$PREFIX 
    
    --disable-opencl 
    --disable-thumb 
    --disable-pic 
    --disable-stripping 
    
    --enable-small 
    
    --enable-ffmpeg 
    --enable-ffplay 
    --enable-ffserver 
    --enable-ffprobe 
    
    --disable-doc 
    --disable-htmlpages 
    --disable-podpages 
    --disable-txtpages 
    --disable-manpages 
    
    --disable-everything 
    
    --enable-libx264 
    --enable-encoder=libx264 
    --enable-decoder=h264 
    --enable-encoder=aac 
    --enable-decoder=aac 
    --enable-encoder=ac3 
    --enable-decoder=ac3 
    --enable-encoder=rawvideo 
    --enable-decoder=rawvideo 
    --enable-encoder=mjpeg 
    --enable-decoder=mjpeg 
    
    --enable-demuxer=concat 
    --enable-muxer=flv 
    --enable-demuxer=flv 
    --enable-demuxer=live_flv 
    --enable-muxer=hls 
    --enable-muxer=segment 
    --enable-muxer=stream_segment 
    --enable-muxer=mov 
    --enable-demuxer=mov 
    --enable-muxer=mp4 
    --enable-muxer=mpegts 
    --enable-demuxer=mpegts 
    --enable-demuxer=mpegvideo 
    --enable-muxer=matroska 
    --enable-demuxer=matroska 
    --enable-muxer=wav 
    --enable-demuxer=wav 
    --enable-muxer=pcm* 
    --enable-demuxer=pcm* 
    --enable-muxer=rawvideo 
    --enable-demuxer=rawvideo 
    --enable-muxer=rtsp 
    --enable-demuxer=rtsp 
    --enable-muxer=rtsp 
    --enable-demuxer=sdp 
    --enable-muxer=fifo 
    --enable-muxer=tee 
    
    --enable-parser=h264 
    --enable-parser=aac 
    
    --enable-protocol=file 
    --enable-protocol=tcp 
    --enable-protocol=rtmp 
    --enable-protocol=cache 
    --enable-protocol=pipe 
    --enable-protocol=srtp 
    
    --enable-filter=aresample 
    --enable-filter=allyuv 
    --enable-filter=scale 
    --enable-libfreetype 
    
    --enable-indev=v4l2 
    --enable-indev=alsa 
    
    --enable-omx 
    --enable-omx-rpi 
    --enable-encoder=h264_omx 
    
    --enable-mmal 
    --enable-hwaccel=h264_mmal 
    --enable-decoder=h264_mmal 
    
    

    在 FFmpeg 官网获取源码 http://ffmpeg.org/download.html ,当前版本为 ffmpeg-3.4.7.tar.bz2 ,配置完成后编译并安装

    wget http://ffmpeg.org/releases/ffmpeg-3.4.7.tar.bz2
    tar jxvf ffmpeg-3.4.7.tar.bz2
    cd ffmpeg-3.4.7
    mv ../config_ffmpeg_rpi.sh ./
    chmod +x config_ffmpeg_rpi.sh
    ./config_ffmpeg_rpi.sh
    make -j4
    sudo make install
    

    输入 ffmpeg 并回车,可以看到其中有 h264_omx 和 h264_mmal 字样,说明 ffmpeg 已支持树莓派的 H.264 硬件编解码器。

    安装ffmpeg成功

    最后

    下一篇文章将介绍硬件 H.264 硬件编解码器的应用。

  • 相关阅读:
    单片机驱动为什么要设置为低电平有效?
    zip file closed 错误。weblogic部署项目,报错zip file closed。控制端重启weblogic正常
    常用的网络通信协议:TCP与UCP
    Oracle简单查询之多表查询。group by,where,having ,内外连接left join ,right jion,inner join,自查询
    tomcat与apache区别
    null ,request parameters:{}
    orcle数据库修改已存数据的列的数据类型
    A query was run and no Result Maps were found for the Mapped Statement 'com.wondersgroup.service.sdgl.dao.Bf62ModelMapper.findAll'. It's likely that neither a Result Type nor a Result Map was specif
    控制台打印列未定义错误
    idea项目结构旁边出现0%classes,0%lines covered
  • 原文地址:https://www.cnblogs.com/HintLee/p/9499414.html
Copyright © 2011-2022 走看看