liyafe1997
V2EX  ›  Windows

用 AI 搓了个通过 DLNA 协议投屏的小工具

  •  
  •   liyafe1997 · 9h 16m ago · 312 views

    img

    https://github.com/liyafe1997/dlna-screen-cast

    这个需求源自父母日常习惯在摆在茶几的电脑上找各种视频看,包括但不限于网页上各种搜 D 版电影电视剧,各种体育赛事直播,迅雷下种子,本地视频,微信公众号/别人发的各种视频等等,然后经常问我这个能不能放到电视上看

    现在电视应该都是有支持 Miracast 、DLNA 、AirPlay 等各种投屏协议的,Miracast 对设备要求太严,老一点的笔记本/无线网卡/电视不兼容都不行,反正父母的笔记本的 Windows 搜不到电视。

    于是就打起了 DLNA 的主意,发现 Windows 下居然没有类似的工具,即利用 DLNA 来镜像整个屏幕/桌面。一般 DLNA 都是用来播放媒体文件的( App 投屏就是走的 DLNA ,把媒体地址直接扔给电视播放)

    思路很简单,用 Windows.Graphics.Capture 获取屏幕画面,然后用 ffmpeg 编码成 H264 ,通过 HTTP 提供 ts 视频流(开个 http server ),通过 DLNA 把局域网 HTTP 地址扔给电视( DLNA Receiver )播放。然后用 Claude Code (Fable 5) 和 Codex (GPT5.6-Sol) 落地了这个项目,我几乎一行代码没写。

    缺点是延迟比较大,不过对于看视频来说影响不大。

    我是在 ARM64 下开发的,所以还 build 了 target arm64 的包,算是给 WoA 生态做出一点微小的贡献(很惭愧

    其实 x64 版在 WoA 下能完美转译运行的(这个 ARM64 版就目前而言几乎纯粹强迫症选项/贡献 WoA 生态作用了),一开始都是 build x64 来 debug ,哪怕我的开发机是 ARM64 。然后视频编码基本都是用的 GPU ,也不涉及太多 CPU 负载和性能问题,所以纠结了好一会到底要不要 target ARM64 。发现 Codex 还有两张月底到期的重置卡没用,于是就直接让 AI 帮适配 ARM64 了🤣

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1024 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:00 · PVG 03:00 · LAX 12:00 · JFK 15:00
    ♥ Do have faith in what you're doing.