树莓派编译FFmpeg,添加硬编解码

说明

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

准备工作

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

步骤

1. 更新源并安装git

sudo apt-get update
sudo apt-get install git
  • 1
  • 2

2. x264配置脚本config_x264_rpi.sh,放进x264目录

#!/bin/sh
./configure --disable-shared --enable-static --enable-strip --disable-cli
  • 1
  • 2

3. 下载x264源码并编译安装

git clone git://git.videolan.org/x264.git
cd x264
mv ../config_x264_rpi.sh ./
chmod +x config_x264_rpi.sh
./config_x264_rpi.sh
make -j4
sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.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-muxer=image2 \
--enable-demuxer=image2 \ 
\
--enable-parser=h264 \
--enable-parser=aac \
\
--enable-protocol=file \
--enable-protocol=tcp \
--enable-protocol=rtmp \
--enable-protocol=cache \
--enable-protocol=pipe \
\
--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 \
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94

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

wget http://ffmpeg.org/releases/ffmpeg-3.3.2.tar.bz2
tar jxvf ffmpeg-3.3.2.tar.bz2
cd ffmpeg-3.3.2
mv ../config_ffmpeg_rpi.sh ./
chmod +x config_ffmpeg_rpi.sh
./config_ffmpeg_rpi.sh
make -j4
sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

ffmpeg on respberry

原版权

作者:HintLee 
链接:http://www.jianshu.com/p/dec9bf9cffc9 
來源:简书 
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

修改说明

  1. ffmpeg编译参数增加 --enable-muxer=image2 --enable-demuxer=image2 使得ffmpeg支持图片格式

转载自 https://blog.csdn.net/sbdx/article/details/75110126

你可能感兴趣的:(经验,ffmpeg,shume)