在多媒体应用场景下ffmpeg网络视频播放器的体验--米尔基于瑞萨RZ/G2L处理器的MYD-YG2LX开发板
2023-08-16
608
来源:米尔电子
本篇测评由优秀测评者“qinyunti”提供。
前言
前面进行了ffmpeg的开发环境搭建以及性能测试,现在就可以进行具体的应用开发了。
这一篇就以一个网络视频播放的Demo来演示基于米尔MYD-YG2LX开发板快捷高效的多媒体应用开发。
过程
https://www.sample-videos.com/index.php#sample-mp4-video下下测试mp4视频
这里下载的是big_buck_bunny_720p_10mb.mp4。
导入视频文件到开发板的~目录下。
设置开发板和PC的IP地址在同一网段
我这里电脑是192.168.137.1,所以设置开发板为192.168.137.2
ifconfig eth0 192.168.37.2root@myir-yg2lx:/usr/lib# ifconfig eth0eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500 metric 1 inet 192.168.137.2 netmask 255.255.255.0 broadcast 192.168.137.255 inet6 fe80::ca9:54ff:fe57:8ed4 prefixlen 64 scopeid 0x20<link> ether 0e:a9:54:57:8e:d4 txqueuelen 1000 (Ethernet) RX packets 345675 bytes 422385328 (402.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 151051 bytes 11916402 (11.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 184
确认开发板和PC网口通讯OK。
从如下地址下载安装VLC
ffmpeg -re -i big_buck_bunny_720p_10mb.mp4 -an -vcodec copy -f rtp rtp://192.168.137.1:5004
打印如下
root@myir-yg2lx:~# ffmpeg -re -i big_buck_bunny_720p_10mb.mp4 -an -vcodec copy -f rtp rtp://192.168.137.1:5004 ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 8.3.0 (GCC) configuration: --disable-stripping --enable-pic --enable-shared --enable-pthreads --cross-prefix=aarch64-poky-linux- --ld='aarch64-poky-linux-gcc -mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/recipe-sysroot' --cc='aarch64-poky-linux-gcc -mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/recipe-sysroot' --cxx='aarch64-poky-linux-g++ -mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/recipe-sysroot' --arch=aarch64 --target-os=linux --enable-cross-compile --extra-cflags=' -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map==/usr/src/debug/ffmpeg/4.2.2-r0 -fdebug-prefix-map==/usr/src/debug/ffmpeg/4.2.2-r0 -fdebug-prefix-map=/recipe-sysroot= -fdebug-prefix-map=/recipe-sysroot-native= -mtune=cortex-a55 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/recipe-sysroot' --extra-ldflags='-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now' --sysroot=/recipe-sysroot --libdir=/usr/lib64 --shlibdir=/usr/lib64 --datadir=/usr/share/ffmpeg --disable-mipsdsp --disable-mipsdspr2 --cpu=generic --pkg-config=pkg-config --disable-static --enable-alsa --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avresample --enable-bzlib --disable-libfdk-aac --enable-gpl --disable-libgsm --disable-indev=jack --disable-libvorbis --enable-lzma --disable-libmfx --disable-libmp3lame --disable-openssl --enable-postproc --disable-sdl2 --disable-libspeex --enable-swresample --enable-swscale --enable-libtheora --disable-vaapi --disable-vdpau --disable-libvpx --enable-libx264 --disable-libx265 --disable-libxcb --disable-outdev=xv --enable-zlib libavutil 56.31.100/56.31.100 libavcodec 58.54.100/58.54.100 libavformat 58.29.100/58.29.100 libavdevice 58.8.100/58.8.100 libavfilter 7.57.100/7.57.100 libavresample 4.0.0/4.0.0 libswscale 5.5.100/5.5.100 libswresample 3.5.100/3.5.100 libpostproc 55.5.100/55.5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'big_buck_bunny_720p_10mb.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 1970-01-01T00:00:00.000000Z encoder : Lavf53.24.2 Duration: 00:01:02.32, start: 0.000000, bitrate: 1347 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 959 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : SoundHandler Output #0, rtp, to 'rtp://192.168.137.1:5004': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 959 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc (default) Metadata: creation_time : 1970-01-01T00:00:00.000000Z handler_name : VideoHandler SDP: v=0 o=- 0 0 IN IP4 127.0.0.1 s=No Name c=IN IP4 192.168.137.1 t=0 0 a=tool:libavformat 58.29.100 m=video 5004 RTP/AVP 96 b=AS:959 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z01AH9oBQBbsBEAAAAMAQAAADIPGDKg=,aO88gA==; profile-level-id=4D401F Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help frame= 1068 fps= 25 q=-1.0 Lsize= 5315kB time=00:00:42.68 bitrate=1020.2kbits/s speed= 1x video:5262kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.001308%
复制如下部分在PC端新建demo.sdp文件,粘贴上述内容
然后使右键点击该sdp文件用VLC打开。
看到开始播放
固定帧率25帧
frame=496 fps=25 q=-1.0 size=2187kB time=00:00:19.80 bitrate= 905.0kbits/s speed=1x
总结
以上可以看到,得益于开发板优异的性能和完备的运行环境,开发多媒体应用非常便捷快速。所以基于本板进行二次开发是非常不错的选择。
2024-04-29
米尔瑞米派Remi Pi Ubuntu系统移植指南
1.概述Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发,目前比较常见的有Buildroot, Yocto, OpenEmbedded等等。同时更多的传统的桌面系统也加入到嵌入式环境体系中,如Ubuntu,debian等,为嵌入式提供更方便实用的系统。本文主要介绍基于ubuntu22.04 core和米尔核心板定制一个完整的嵌入式ubuntu22.
2024-04-29
米尔NXP i.MX 93开发板限量6折!赋能入门级边缘处理市场
NXP在处理器板块耕耘多年,从早期的i.MX 6→ i.MX 7→ i.MX 8,再到最新的i.MX 9都已经有一条完整的生态链以及很多客户基础。i.MX 93是NXP i.MX 9产品组合中最新的一个系列。i.MX 93可以为边缘系统提供强劲的推理能力,可以快速处理传感器数据,并在保证安全的同时快速做出决定。该系列产品具备可扩展性,性能兼容性等特点。近日,米尔基于NXP i.MX 9系列的核心板
2024-04-18
米尔NXP i.MX 93核心板上市!重新定义入门级嵌入式处理器模组
近日,米尔电子推出基于NXP i.MX 93系列产品-MYC-LMX9X核心板及开发板。NXP i.MX9系列在i.MX 6和i.MX 8系列产品市场验证的基础上,继承了前代产品的优点的同时,进一步提升了性能、资源利用和价格的平衡。其中i.MX 93处理器配备双核Cortex-A55@1.7 GHz+Cortex-M33@250MHz,兼顾多任务和实时性需求,集成0.5 TOPS NPU赋能低成本
2024-04-18
米尔Remi Pi 实时系统与EtherCAT移植
1.概述Remi Pi采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600 / DDR3L-1333内存控制器、千兆以太网控制器、USB、CAN、SD卡、MIPI-CSI等外设接口,在
2024-04-18
米粉派7折!米尔全志T527发布Linux系统
米尔电子首发的全志高性能T527工业开发板——带边缘计算的米粉派(MIFANSPi)自推出市场以来,凭借易用性好、可靠性高、高性能、低门槛、高集成度、开源设计、支持二次开发、软件资源丰富等各种特点,得到广大客户关注。此次米尔-全志T527开发板发布了面向工业应用的TINA5.0(Linux5.15)系统,为感谢大家的支持,推出Mifans Pi米粉派限量7折优惠,限量200套,售完即恢复原价。系统
2024-04-09
扩展模块免费送!米尔瑞米派福利发放中……
瑞米派自发布后赢得了广大粉丝朋友们的一致好评,基于RZ/G2L工业级处理器开发,具备其他Pi没有的双千兆以太网接口,便于企业客户直接进行产品开发;通过40PIN兼容树莓派的排针,能够适配树莓派生态的所有配件,方便用户产品原型搭建,同时支持多种操作系统和软件框架,Linux/QT/LVGL/Python/RT-Linux/IGH Ethercat/Freertos等。瑞米派的硬件和软件开发难度低,兼
2024-04-09
G2D图像处理硬件调用和测试-基于米尔全志T113-i开发板
本篇测评由电子工程世界的优秀测评者“jf_99374259”提供。本文将介绍基于米尔电子MYD-YT113i开发板的G2D图像处理硬件调用和测试。MYC-YT113i核心板及开发板真正的国产核心板,100%国产物料认证国产T113-i处理器配备2*Cortex-A7@1.2GHz ,RISC-V外置DDR3接口、支持视频编解码器、HiFi4 DSP接口丰富:视频采集接口、显示器接口、USB2.0
2024-03-28
5折!不是高性能MCU用不起,而是MP135裸跑更具性价比
以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔的STM32MP135开发板提供基于STM32Cube的Bar
2024-03-21
新品!开源欧拉openEuler,米尔基于海思Hi3093核心板上市!
新品播报!米尔电子发布了基于海思Hi3093高性能MPU的MYC-LHi3093核心板及开发板, 此款核心板支持openEuler embedded OS欧拉系统,丰富生态,可实现100%全国产自主可控。不仅如此,米尔基于Hi3093的核心板及开发板,配套提供工业控制demo,方便客户评估PLC等应用场景实时控制性能,为追求实时性能的工控产品开发提供参考。 海思Hi3093是面向服务器、工控机市
2024-03-14
速抢:补贴价Remi Pi到货,再添面向工业产品的软件系统
米尔电子发布的瑞萨第一款MPU生态板卡——瑞米派(Remi Pi)自上市当天200套售罄,获得不少新老用户的青睐。为感谢大家的支持,米尔加推300套瑞米派活动,以补贴价198元回馈大家,抢完即止!不仅如此,此次瑞米派发布myir-image-core系统,相比上次发布适用于HMI场景的全面型myir-image-full系统,myir-image-core系统则更轻量,非常适用于各种工业场景应用,