流媒体方案之FFmpeg——实现物联网视频监控项目

目录

前言

一、FFmpeg介绍

二、FFmpeg简易理解

三、FFmpeg的重要概念

四、软硬件准备

五、移植、运行FFmpeg

六、运行FFmpeg


前言

最近想做一个安防相关的项目,所以跟着韦东山老师的视频来学习视频监控方案的相关知识,韦东山老师讲的课非常好,本章主要介绍推流端FFmpeg。

一、FFmpeg介绍

FFmpeg是什么

  • 一套开源软件
  • 可以记录、转换音视频:可以从摄像头中记录视频,从声卡中记录音频,可以转换为各种格式,保存起来
  • 还可以把各种格式的音视频,转换为流:供在线观看
  • 其他功能:视频截图、加水印、裁剪等等
  • Mplayer,ffplay,射手播放器,暴风影音,KMPlayer,QQ影音等视频频播放器的内核就是 FFmpeg
  • 格式工厂的内核也是FFmpeg

二、FFmpeg简易理解


误区:我们以为mp4就代表了音频、视频的压缩格式,其实不是

  • Mp4只是一种封装格式
  • 里面有音频数据、视频数据
  • 音频数据有自己的压缩格式,还不止一种
  • 视频数据也有自己的压缩格式,还不止一种

参考文章

视音频编解码技术零基础学习方法

三、FFmpeg的重要概念

1.重要概念

2.FFmpeg处理音视频的过程

用Filter(过滤器)来处理

  1. 旋转、拉伸
  2. 添加LOGO、消除LOGO等等

3.FFmpeg的常用参数

四、软硬件准备

硬件:

  • 100ASK_IMX6ULL开发板 (或其他Linux开发板);
  • USB摄像头

软件:

  • Ubuntu;
  • Buildroot(Buildroot会自动下载其他软件: MJPG-streamer, ffmpeg, nginx);

五、移植、运行FFmpeg

1.移植

有两种方法:
方法一:下载源码,手工编译。
方法二:使用Buildroot,配置选择ffmpeg,直接编译生成映象文件。

2.使用Buildroot

自行配置内核选项和编译内核

  1. 设置交叉编译工具链
  2. 在Buildroot根目录
  3. make menuconfig
  4. 如图选择ffmpeg (在buildroot 按‘/’可以搜索ffmpeg的路径)
  5. 执行make
  6. 这会在Buildroot的dl/ffmpeg目录下自动下载源码,并编译
  7. 结果保存在output/images目录下,有emmc.img, sdcard.img,可以直接烧写到板能的EMMC或SD卡上

3.FFmpeg源码

六、运行FFmpeg

在开发板上安装好ffmpeg后,执行命令:

ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10  my.mp4

解析:

  • ffmpeg: 这是 FFmpeg 命令行工具的名称。
  • -f v4l2: 这个选项指定了输入格式为 Video for Linux 2 (v4l2),这是 Linux 系统中用于处理视频设备的 API。
  • -framerate 10: 这个选项设置了帧率为 10 帧每秒。
  • -i /dev/video1: 这个选项指定了输入设备为 /dev/video1,即第一个摄像头设备。
  • -q 10: 这个选项设置了输出视频的质量,范围是 1(最差)到 31(最好)。这里设置为 10,表示较高的质量。
  • my.mp4: 这是输出文件的名称。

这个命令将从 /dev/video1 设备捕获视频,并以 10 帧每秒的帧率和较高的质量将其保存到名为 my.mp4 的文件中。

然后我们将.mp4文件上传到 window 查看,就可以观看刚刚摄像头拍下的视频。

由于IMX6ULL性能不太好,所以视频可能会有点卡顿和不完整,想要更加流畅可以下载 window 版本的 ffmpeg 做一下实验。

更多用法:

  • ffmpeg基础使用:https://www.jianshu.com/p/ddafe46827b7
  • 给新手的 20 多个 FFmpeg 命令示例:https://zhuanlan.zhihu.com/p/67878761

在Windows版本下练习:

  • 下载static版本:https://ffmpeg.zeranoe.com/builds/
  • 在命令行中练习ffmpeg

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱嵌入式的小佳同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值