100ask_imx6ull视频监控项目-流媒体方案的实现之ffmpeg(三)

本文详细介绍了如何在100ask_imx6ull视频监控项目中使用FFmpeg进行流媒体方案的实现,包括FFmpeg的移植、配置及在开发板上的使用流程。通过实例展示了如何录制摄像头数据并生成MP4文件,揭示了MP4文件的封装格式及音频、视频数据的压缩格式。同时,文章还分享了在低性能芯片上运行FFmpeg遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

100ask_imx6ull视频监控项目-流媒体方案的实现之ffmpeg(三)

实现流程图:
在这里插入图片描述

推流端使用FFmpeg采集数据转换格式

,并且把他推给流媒体服务器

在这里插入图片描述

MP4文件格式里面有很多种视频编码格式,所以MP4只是一种封装格式

在这里插入图片描述

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

Mp4只是一种封装格式

里面有音频数据、视频数据

音频数据有自己的压缩格式,还不止一种

视频数据也有自己的压缩格式,还不止一种

在这里插入图片描述

我们对里面的音频和视频数据decode分解开处理完后再encode合并

在这里插入图片描述

音频格式:

在这里插入图片描述

移植ffmpeg

buildroot下make menuconfig搜索ffmpeg

在这里插入图片描述
在这里插入图片描述

我们y选上

在这里插入图片描述

里面的内容也都选上

在output/images里面把emmc.img烧写到板子里面或者sdcard.img烧写到sd卡也可以

这里我们就把emmc.img下载到板子里面

在开发板上安装好ffmpeg后:

•执行命令:ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 my.mp4

•它会把摄像头的数据录制为my.mp4

•把my.mp4复制到PC机,播放

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

-f (format摄像头格式为v4l2)

-framerate (一秒读十帧)

-i 输入设备是/dev/video1

-q 质量是10

输出my.mp4文件

因为芯片性能太差,刚才录了很久的视频最后生成的视频只有2s,

使用top命令发现占用大量cpu表示cpu处理不过来

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值