zoukankan      html  css  js  c++  java
  • 树莓派使用gmediarender获取投屏链接

    dlna+upna的协议体系实际是将A端的媒体URL发送至B端,B端经此URL进行视屏或者音频播放。因此我们可以通过投屏的方法来接收此URL,方法如下:

    1、在树莓派(本人使用Pi4)上,git clone gmediareder代码:https://github.com/hzeller/gmrender-resurrect.git

    2、修改一下patch:

    diff --git a/src/upnp_transport.c b/src/upnp_transport.c
    index 1f7a039..96607f0 100644
    --- a/src/upnp_transport.c
    +++ b/src/upnp_transport.c
    @@ -495,6 +495,7 @@ static void replace_current_uri_and_meta(const char *uri, const char *meta){
            const char *tracks = (uri != NULL && strlen(uri) > 0) ? "1" : "0";
            replace_var(TRANSPORT_VAR_CUR_TRACK, tracks);
            replace_var(TRANSPORT_VAR_CUR_TRACK_URI, uri);
    +       printf("====uri: %s
    ", uri);
            replace_var(TRANSPORT_VAR_CUR_TRACK_META, meta);
     }

    3、编译、运行gmediareder。

    4、从移动端发起投屏,投屏时选择gmediareder。在第3步如果通过gmediareder的参数指定了特定的--friendly-name,此处就选择对应的名称。

    5、树莓派端的gmediareder将打印接收到的url:

    此url一般是m3u8格式描述文件,依次记录了多个剪辑片段的url。如果需要下载此视频,需要先将m3u8文件下载后,再下载其中的所有片段,最后使用ffmpeg将诸文件合并为一个文件。

    某些视频软件也会直接使用资源本身的url发射投屏,这种情况可直接wget获取此资源。

  • 相关阅读:
    github首页添加README.md
    uni-app 使用问题记录
    rgb转16进制js方法,npm插件
    升级vue3注意事项记录 vue3都需要升级些什么
    获取当前网页的协议+域名(兼容IE)
    C++ 真随机
    vue打包后反编译到源代码(reverse-sourcemap)(转载)
    vue导出页面为pdf文件
    设计模式总结
    访问者模式
  • 原文地址:https://www.cnblogs.com/shijianyujingshen/p/14353676.html
Copyright © 2011-2022 走看看