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

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处理不过来

在这里插入图片描述