设为首页收藏本站
查看: 571|回复: 4

【米尔瑞萨RZ/G2L开发板-创新应用】嵌入式直播设备01开箱+环境搭建+交叉编译FFMPEG

[复制链接]

2

主题

2

回帖

28

积分

新手上路

积分
28
dutong0321 发表于 2023-8-10 17:19:37 | 显示全部楼层 |阅读模式
本帖最后由 dutong0321 于 2023-8-10 17:21 编辑

标题有点长哈,首先要感谢米尔电子提供的开发板,异构的板子说实话还真的是最近才开始接触的,在我提交申请后,很快就收到板子了,而且还是顺丰给发来的,其实我估计很多人就是为了骗板子,因为米尔的规则还是比较松一些的,还是希望大家多多研究吧,但是,提交的时候既然决定要做一个成品,奖品是次要的,但是履行承诺最重要。
本来是希望再继续研究一下,再发出来的,结果上午看到公众号里发出了以为大佬的研究来,和我的很相似,有点撞车了,都是在搞音视频,而且都选择了FFMPEG,而且还有上一篇内容,但是我看了一下论坛里好像并没有内容。
还要提一句的是,板子目前Ubuntu镜像还没有放出来,我给米尔打了好几个电话了,说是在整理资料,所以如果拥有Ubuntu镜像的话,那么使用ffmpeg就会方便很多了,直接一个apt命令行就全部搞定了。
一、开箱
开箱其实没有必要说太多了,大家也都收到板子了,150套呢,真的太大方了,估计开箱的环节不少,简单来讲就是异构板子,双核A53+M33芯片,瑞萨出的,板载1GB DDR4 + 8GB EMMC,双千兆网口,双USB2.0,HDMI以及WiFi模块。附送了TTL串口线和电源线,TTL是3.3V电平,这么珍贵的板子可得好好保护啊。电源也值得一说,附送了很多种标的AC,DC这面也是经过了一次转换。
板子真的很结实,盒子也很有设计感,真的很喜欢!
二、环境搭建

环境搭建基本上还是比较轻松的,首先要从官方下载站上下载板子的资源,地址在这里http://down.myir-tech.com/MYD-YG2LX/。可以直接在里面的《MYD-YG2LX_Linux软件开发指南》的第2章中就可以找到了,我使用的是Debian 不带桌面的系统,我来说一下我的步骤,首先通过WINSCP将03_Tools\Toolchains\sdk.tar.bz2的文件上传到Debian电脑里,然后进行解压。
  1. tar -xjvf sdk.tar.bz2
复制代码
进入到解压好的目录里面,然后:
  1. sudo bash poky-glibc-x86_64-myir-image-full-aarch64-myir-yg2lx-toolchain-3.1.20.sh
复制代码
因为要将包放到/opt下,所以要用sudo,我因为要涉及到VPU,所以必须要用full的包来进行编译,然后再把环境引入就OK了,我都是使用的默认的,如果和我一样使用默认的话,那么也可以直接用下面这个命令。
  1. source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
复制代码
这里值得一说的是,如果重启或者退出SHELL以后重新登录进来都是需要重新引入一下的,就是你再普通用户当中引入了,如果使用sudo命令的话,依然是找不到的,因为你没有在root用户下引入!!!
最后可以测试一下。


好了,可以继续了!可以编一个Hello world来测试一下了!不过编译完成以后,要到板子上面才可以运行哦!
三、FFMPEG的编译
终于讲到重头戏了,以上内容可能网络上的资料一抓一大把,但是这块的内容可能搜索起来就没那么容易了,或者版本或者板子不同,编译起来就都不一样了,编译hello world可能只需要一行命令就搞定了,但是我们要搞的肯定不可能只是hello world,尤其是在写我们自己的项目中,我们不可能去手写一个264的编码库,所以肯定就需要引入别的库,而且我们希望用到FFMPEG的命令行,以后也要引入FFMPEG的库,所以先来进行编译FFMPEG吧。
1.编译x264
在编译FFMPEG的时候,还要增加上H.264的软编解码,所以还要先编译x264的库。
  1. git clone https://code.videolan.org/videolan/x264.git
  2. sudo mkdir /opt/arm
  3. sudo mkdir /opt/arm/x264
  4. cd x264
  5. ./configure --prefix=/opt/arm/x264 --enable-shared --enable-static --disable-opencl --enable-pic --disable-asm --host=arm-linux
  6. make -j4
  7. sudo -s
  8. source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
  9. make install
复制代码

我已经写的很详细了,但是如果在使用git,make的时候发现没有命令,却不知道怎么安装的话,那么是不是应该先试着学习一下Linux,然后再玩Linux开发板呢,剩下其他的问题应该也是可以通过百度就可以解决的,如果大家发现按照我的命令没有成功的话,就可以给我留言,我可以帮忙看看是不是我的命令哪里有遗漏。
大概讲一下就是,先用git拉库,先创建安装的目录,然后通过configure进行配置,例如配置安装的目录,我的安装目录是/opt/arm/x264,然后开启编译动态库,静态库,关闭一些没用的,最后的--host是交叉编译必须加的。然后就是编译,然后因为安装的目录权限问题,所以要切换到root下进行安装,注意了,这里我上面就说过,切换用户后要先引入环境,最后直接安装就可以成功了!
2.编译FFMPEG
  1. wget https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz
  2. xz -d ffmpeg-6.0.tar.xz
  3. tar -xvf ffmpeg-6.0.tar
  4. cd ffmpeg-6.0
  5. sudo mkdir /opt/arm/ffmpeg
  6. export PKG_CONFIG_PATH=/opt/arm/x264/lib/pkgconfig
  7. ./configure  --pkg-config="pkg-config --static"  --target-os=linux --arch=arm64  --cross-prefix=aarch64-poky-linux- --prefix=/opt/arm/ffmpeg --enable-version3 --enable-libx264 --enable-nonfree --enable-gpl --disable-x86asm  --extra-cflags="-I/opt/arm/x264/include" --extra-ldflags="-L/opt/arm/x264/lib"  --enable-cross-compile --sysroot=/opt/poky/3.1.20/sysroots/aarch64-poky-linux/
  8. make
  9. sudo -s
  10. source /opt/poky/3.1.20/environment-setup-aarch64-poky-linux
  11. make install
复制代码

这个地方其实和之前差不多,前5条命令就是下载源码,然后解压,撞见安装目录。第6条是引入编译环境,第7条是配置,嗯( ̄▽ ̄),自己看吧,我不知道改怎么解释了。总之就是和x264不一样的地方就是有些是因为我们要进行交叉编译,另外一些是因为要引入x264模块,还有就是编译FFMPEG所必须的原因啦。然后就是熟悉的make和make install啦!
如果在configure的过程中出现问题,可以直接看提示,也可以看看ffbuild/config.log记录。
最后,可以用看一下/opt/arm/x264和/opt/arm/ffmpeg下面,有没有编译好的文件就OK了。
剩下的板子上测试,我们下一篇帖子继续哈,写文章要比写代码累(lll¬ω¬)

回复

使用道具 举报

2

主题

5

回帖

88

积分

注册会员

积分
88
bin 发表于 2023-8-11 17:49:58 | 显示全部楼层
感谢米尔电子的同时,也要感谢瑞萨电子,瑞萨是整个活动的赞助商。楼主说“很多人是骗板子的”,这个确实存在,我虽然没有抢到板子,但是在闲鱼上面买了一块原装未拆封的。
然后楼主的ffmpeg应该是软解的,因为配置的指令没看到硬解的配置,所以楼主有空研究一下硬解吗?
回复 支持 反对

使用道具 举报

2

主题

2

回帖

28

积分

新手上路

积分
28
 楼主| dutong0321 发表于 2023-8-13 15:12:25 | 显示全部楼层
bin 发表于 2023-8-11 17:49
感谢米尔电子的同时,也要感谢瑞萨电子,瑞萨是整个活动的赞助商。楼主说“很多人是骗板子的”,这个确实存 ...

哦哦,是这样的啊,真的太感谢赞助商们了!
是的,没有进行硬解和硬编,这个在之后会聊到,我看了一下应该使用的是OMX的,但是我没有找到官方提供的,所以,FFMPEG打算只进行到软解和软编,可能后面会用到封装,然后更多的会使用gstreamer来进行,这个官方提供了。
回复 支持 反对

使用道具 举报

2

主题

5

回帖

88

积分

注册会员

积分
88
bin 发表于 2023-8-14 10:46:48 | 显示全部楼层
dutong0321 发表于 2023-8-13 15:12
哦哦,是这样的啊,真的太感谢赞助商们了!
是的,没有进行硬解和硬编,这个在之后会聊到,我看了一下应 ...


楼主看来对ffmpeg有深入了解啊,一眼看出使用了OMX;官方确实没有用ffmpeg,据说也不提供。
回复 支持 反对

使用道具 举报

2

主题

2

回帖

28

积分

新手上路

积分
28
 楼主| dutong0321 发表于 2023-8-16 21:03:29 | 显示全部楼层
bin 发表于 2023-8-14 10:46
楼主看来对ffmpeg有深入了解啊,一眼看出使用了OMX;官方确实没有用ffmpeg,据说也不提供。 ...

呃,也是一知半解,查了下资料猜的,感觉你对米尔和瑞萨很熟悉呀,有很多消息哈!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-5-14 04:01 , Processed in 0.095603 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表