当前位置: 首页 > article >正文

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

目录

前言

一、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,直接编译生成映象文件
我们使用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卡上

六、运行FFmpeg

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

ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10  my.mp4
  • 它会把摄像头的数据录制为my.mp4
  • 把my.mp4复制到PC机,播放

上述命令的解释:

-f(format)摄像头的格式是 v4l2

-framerate 10 1秒读10帧

-i 输入设备是哪一个: /dev/video1 -

q:质量 为10

生成名为my.mp4的文件

它会把摄像头的数据录制为my.mp4,把my.mp4复制到PC机,播放

更多用法:

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

建议在Windows下练习:

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


http://www.kler.cn/a/154055.html

相关文章:

  • 鸿蒙HarmonyOS 地图定位到当前位置 site查询等操作
  • 使用 OpenAI 进行数据探索性分析(EDA)
  • 搭建MC服务器
  • Python 人脸检测:使用 Dlib 和 OpenCV
  • 3. langgraph中的react agent使用 (在react agent添加系统提示)
  • 在 Windows 11 中使用 MuMu 模拟器 12 国际版配置代理
  • 【【vivado ip 抽象成C语言的本质】】
  • 混合使用Windows和Linux子系统的工具和命令
  • 什么是勒索软件
  • 【音频】Glitch、降噪相关
  • redis单机版本安装
  • 【linux】信号——信号保存+信号处理
  • 【VMware相关】VMware vSphere存储方案
  • 我的2023年12月02日对文章发送的一个测试
  • selenium三猛士
  • 利用Python中的Manim进行数学绘画和创作
  • selenium 工具 的基本使用
  • 深度学习实战62-强化学习在简单游戏领域的应用,利用强化学习训练Agent程序的代码和步骤
  • 工博会新闻稿汇总
  • LuatOS-SOC接口文档(air780E)--pwm - PWM模块
  • 设计模式 创建者模式
  • 今天给大家分享一套Python入门基础测试题,大家看看都会做吗?
  • 商城系统通过Kafka消息队列,实现订单的处理和状态更新
  • 快速掌握Pyqt5的9种显示控件
  • 2243:Knight Moves
  • postman接口测试教程与实例分享