您尚未登录。

楼主 #1 2020-10-26 00:19:12

逸俊晨晖
会员
注册时间: 2018-08-29
已发帖子: 151
积分: 137.5

荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐

基本思路:
B站投屏和网易云推送音乐是通过DLNA协议实现的 它可以把B站视频和网易云音乐推送到同一网络下支持DLNA的设备
为荔枝派zero配置DLNA客户端需要用到组件gmrender-resurrect 可在buildroot里添加组件 而gmrender-resurrect基于gstreamer1.0实现
我们已经实现了使用gstreamer1.0调用openmax硬解H264
B站通过DLNA投屏时会发送flv封装的H264流 类似于直播
也就是说 我们可以用gstreamer硬解B站投屏视频

联网使用荔枝派zero配套的wifi模块rtl8723bs
视频显示使用配套的800*480屏幕
音频播放使用USB声卡

前置参考:
1.    gstreamer硬解码 https://whycan.com/t_5398.html
2.    rtl8723bs联网 https://whycan.com/t_652.html
3.    USB声卡 https://whycan.com/t_2400.html


buildroot配置:

进入buildroot

make menuconfig

-> Target packages
-> Libraries
-> Networking
liburiparser libhttpparser libsoup libupnpp

-> Target packages
-> Libraries
-> Networking
-> libcurl (BR2_PACKAGE_LIBCURL [=y]) 
-> SSL/TLS library to use (<choice> [=y])
GnuTLS

-> Target packages
-> Networking applications
lftp
HTTP protocol

-> Target packages 
-> Libraries
-> Crypto
gnutls
OpenSSL compatibility library
install tools

-> Target packages
-> Audio and video applications
-> gstreamer 1.x
     gst1-plugins-good
        id3demux
        flv
        mpg123
        souphttpsrc

     gst1-plugins-bad
        id3tag
        mpegdemux
        faad
        fbdev

     gst1-libav取消选择
gst-omx

-> Target packages
-> Audio and video applications
gmrender-resurrect

注意:
gmediarender在启动时会注册所有gstreamer检测到的插件 其中gst1-libav是ffmpeg的所有编解码器 会占用非常大的资源 所以要取消选择 否则无法正常播放 之前试了下 开了它要额外占用6-70M的swap区RAM 这里也可以不取消 直接在荔枝派系统上删除
rm /usr/lib/gstreamer-1.0/libgstlibav.so

进入buildroot的gstreamer修改过的插件目录进行删除标记 否则新添加或者删除的组件不会生效

cd output/build/gst1-plugins-good-1.16.0 rm .stamp_built .stamp_configured .stamp_target_installed
cd ../gst1-plugins-bad-1.16.0/
rm .stamp_built .stamp_configured .stamp_target_installed .stamp_staging_installed
cd ../gst1-libav-1.16.0/
rm .stamp_built .stamp_configured .stamp_target_installed
cd ../../../
rm output/target/usr/lib/gstreamer-1.0/libgstlibav.so
make

编译构建烧录

进入荔枝派zero系统
配置好wifi联网

配置gst-omx硬解码注册

vi /etc/xdg/gstomx.conf

可以发现有两个omxh264dec
第一个把它优先级改为0
rank=0

第二个把它所有键值对替换成

type-name=GstOMXH264Dec                                                                                         
core-name=/usr/lib/libOmxCore.so                                                                                
component-name=OMX.allwinner.video.decoder.avc                                                                  
rank=256                                                                                      
in-port-index=0                                       
out-port-index=1                                                                                      
hacks=no-component-role;no-disable-outport

保存退出

:wq

先用此命令确定gstreamer可以正常播放音视频

gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux name=demux demux.audio_0 \
! queue ! decodebin ! audioconvert ! audioresample ! alsasink \
demux.video_0 ! queue ! h264parse ! omxh264dec ! videoconvert ! videoscale ! fbdevsink

接下来可以通过gmediarender运行DLNA客户端了

gmediarender -f "licheePi Zero" --gstout-videosink=fbdevsink --gstout-audiosink=alsasink

B站投屏操作:
手机打开B站搜索bad apple视频打开
点一下视频使其右上角出现TV图标
点击TV图标
点击出现的licheePi Zero设备

网易云推送操作:
点击左上角三条杠
点击设置 直接拉倒最下面
点击连接DLNA设备
点击选择DLNA设备
点击出现的licheePi Zero设备

win10自带播放器推送操作:
在PC上右键一个mp3文件
选择播放到设备
选择licheePi Zero
(如果没找到设备 则再次右键 选择播放到设备 荔枝派zero刚开DLNA客户端可能要重复这个操作几次)

找不到licheePi Zero?
注意:
手机和荔枝派zero要连接到同一个局域网
并且这个局域网不能是这个手机开的热点
比如手机A开热点 荔枝派zero连接上 那么手机A将看不到荔枝派
此时手机B再连接上手机A热点 那么手机B就能看到荔枝派
所以最好将手机和荔枝派都连接到一个路由器wifi上 不要手机开热点
手机开热点 PC和荔枝派zero连接上后 PC可以推送音视频给荔枝派zero

最近编辑记录 逸俊晨晖 (2020-10-26 00:31:38)

离线

楼主 #2 2020-10-26 00:22:55

逸俊晨晖
会员
注册时间: 2018-08-29
已发帖子: 151
积分: 137.5

Re: 荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐

操作演示:

离线

楼主 #3 2020-10-26 01:47:47

逸俊晨晖
会员
注册时间: 2018-08-29
已发帖子: 151
积分: 137.5

Re: 荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐

镜像和使用方法
zero配置DLNA镜像和使用方法.zip

最近编辑记录 逸俊晨晖 (2020-10-26 01:50:12)

离线

楼主 #15 2021-01-15 01:38:43

逸俊晨晖
会员
注册时间: 2018-08-29
已发帖子: 151
积分: 137.5

Re: 荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐

shunshn 说:
逸俊晨晖 说:

用的这个镜像,本地播放很好,投屏卡的厉害,投屏没走硬解?

怀疑有没走硬件 你可以把omx注册的硬解码器优先级改0试试

离线

楼主 #16 2021-01-15 01:39:18

逸俊晨晖
会员
注册时间: 2018-08-29
已发帖子: 151
积分: 137.5

Re: 荔枝派zero配置DLNA客户端进行B站投屏和网易云推送音乐

b7376811 说:

大佬,你的显示是用simplefb还是drm?

荔枝派官方的linux5.2内核 应该是drm

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn