树莓派3B安装ffmpeg[通俗易懂]

树莓派3B安装ffmpeg[通俗易懂]树莓派3B安装ffmpeg树莓派型号:3b操作系统:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img如果只使用基础功能可以参考https://blog.csdn.net/qq_28877125/article/details/70186287用这里边的配置文件,编译起来的确比较快,十分钟内编译完成,但是,这个只包含了基础功能,我使…

大家好,又见面了,我是你们的朋友全栈君。

树莓派3B安装ffmpeg

树莓派型号:3b
操作系统:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img

如果只使用基础功能可以参考https://blog.csdn.net/qq_28877125/article/details/70186287
用这里边的配置文件,编译起来的确比较快,十分钟内编译完成,但是,这个只包含了基础功能,我使用过程中需要读取rstp流,这就无法处理了。

我的步骤如下:

1。 安装sdl2

sudo apt-get install libsdl2-dev

2。安装x264

git clone git://git.videolan.org/x264.git
cd x264

./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl --enable-shared

make -j4
sudo make install
  • 【增加选项 –enable-shared可避免安装 ffmpeg 时出现错误 ERROR: libx264 not found】
  • 树莓派是4核CPU,编译时加上 -j4可以加快编译速度

3。安装ffmpeg

git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg

./configure --arch=armv7l --target-os=linux \
--enable-gpl --enable-libx264 \ --enable-nonfree \ \
--enable-omx \ --enable-omx-rpi \ --enable-encoder=h264_omx \ \
--enable-mmal \ --enable-hwaccel=h264_mmal \ --enable-decoder=h264_mmal \ \

make -j2
sudo make install

报错及解决方案

报错——internal compiler error: Segmentation fault【出现该错误时我使用的是make -j4编译的】
这里写图片描述
解决——make -j2,或直接用make
推测应该是内存不足造成的。

报错——ERROR: OMX_Core.h not found.
解决——sudo apt-get install libomxil-bellagio-dev
参考——http://ffmpeg.org/pipermail/ffmpeg-user/2017-October/037577.html

测试

ffmpeg -i rtsp://admin:iie123456@172.16.18.207:554/h264/ch1/main/av_stream -c:v h264_omx -f flv test.flv

顺便说一下GCC降级方法

报段错误时,我开始以为是gcc版本不对造成的。后来发现好像不是。

sudo apt-get install --reinstall gcc gcc-4.9 gcc-4.9-base libgcc1 cpp-4.9
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.9 gcc
gcc -v

参考——https://askubuntu.com/questions/312835/gcc-segmentation-fault-on-ubuntu-12-04
https://blog.csdn.net/u012175418/article/details/52690569

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152931.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 6.线性表-1

    6.线性表-1

    2021年6月16日
    71
  • spring boot框架搭建_springboot工作原理

    spring boot框架搭建_springboot工作原理公司大部分的应用程序都使用springboot开发,作为测试人员,学习了解该框架也势在必行。此外作为想成长为测试开发的同学来说,使用springboot开发后端服务也是一项基本的技能。

    2022年8月20日
    8
  • Python学习总结(1)—turtle海龟作图

    Python学习总结(1)—turtle海龟作图海龟作图1.海龟移动和绘制2.获取海龟的状态3.设置与度量单位4.画笔绘图状态5.画笔颜色控制6.填充7.更多绘图控制8.海龟可见性9.海龟外观10.使用事件11.特殊海龟方法1.海龟移动和绘制forward(distance)前进backward(distance)后退right(degree)右转默认为角度left(degree)左转默认为角度goto(newX,n…

    2022年6月28日
    34
  • java实现简单的图书管理系统「建议收藏」

    java实现简单的图书管理系统「建议收藏」一、项目分布Book类:定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get、set方法Library类:写了登录函数(1、普通用户,2、管理员,3、退出系统),Person类:定义的人的属性(姓名,性别,年龄)并且写了属性的get、set方法,定义了一些书。operate接口:操作的接口,操作方法:查询/查阅,删除/借阅,增加/还书,显示书籍列表Root类:继承…

    2022年7月13日
    18
  • getAttribute() 与 attr() 的区别

    getAttribute() 与 attr() 的区别

    2021年10月31日
    47
  • 解决Visual Studio中scanf返回值被忽略问题

    解决Visual Studio中scanf返回值被忽略问题最近在使用VisualStudio编写c语言时遇到了scanf返回值被忽略问题,下面总结了几种解决方法:总结了如下几种解决方法:方法一scanf修改成scanf_s可以说scanf_s是vs编译器特有的,它认为scanf不安全,所以不允许你用而让你用它自己定义的scanf_s。方法二开头添加#define_CRT_SECURE_NO_WARNINGS方法三开头添加#…

    2025年8月10日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号