V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
limhiaoing
V2EX  ›  分享创造

一个用协程实现的 UWP 平台的 FLV 视频播放库,支持国内主流视频直播平台的 FLV 直播源。

  •  1
     
  •   limhiaoing ·
    lxrite · 2017-05-29 19:34:26 +08:00 · 5342 次点击
    这是一个创建于 2753 天前的主题,其中的信息可能已经有所发展或是发生改变。

    UWP 的 MediaElement 控件是不支持 FLV 容器格式的视频文件播放的,并且在 Github 上也没有现成的简单易用的轮子,所以有这个库。测试过国内主流视频网站 Bilibili、熊猫直播、全民直播、战旗直播、火猫直播、龙珠直播、花椒直播等都是支持的。

    特性:

    1. 不依赖任何第 3 方库;(不需要使用重重的 FFmpeg )
    2. 支持本地视频和 HTTP-FLV 视频播放;(事实上任何可以抽象成 IInputStream 的 FLV 视频源都是支持的)
    3. 易于集成,增加几行代码即可实现 FLV 播放能力。而且集成是无痛的,原来怎么用 MediaElement 控制播放,现在还是怎么控制,不需要为了使用这个库而增加一堆代码;
    4. 激进的使用了即将进入 C++ 20 标准的 Coroutines TS,所以需要 Microsoft Visual Studio 2015 或更高版本。(这算特性吗?)

    演示:( GIF 图片较大爪机慎点)

    视频拖动实时反馈:http://7xueae.com1.z0.glb.clouddn.com/83E0AEED3411D8A0903A36518FD637C03D7B389F.gif

    HTTP 边下边播: http://7xueae.com1.z0.glb.clouddn.com/28B9BC8533F4BF47C70D8A44A8649747263EE77C.gif

    Github 地址: https://github.com/lxrite/DawnPlayer

    6 条回复    2017-05-31 16:42:51 +08:00
    hjc4869
        1
    hjc4869  
       2017-05-29 19:48:44 +08:00
    https://github.com/amamiya/SYEngine
    其实 UWP 有这个,用 MF 实现的
    limhiaoing
        2
    limhiaoing  
    OP
       2017-05-29 19:50:15 +08:00
    @hjc4869 你说的这个似乎依赖了 FFmpeg。
    hjc4869
        3
    hjc4869  
       2017-05-29 19:53:54 +08:00   ❤️ 1
    @limhiaoing 里面包含的 ffmpeg 似乎是为了解码一些 mkv 容器支持而系统不支持的编码,mkv 和 flv 的解封装器是单独写的。
    limhiaoing
        4
    limhiaoing  
    OP
       2017-05-29 19:56:12 +08:00
    @hjc4869
    感谢推荐,不过我这个最早是 2013 年的时候开始实现的,当时可能还没有 SYEngine。
    http://blog.poxiao.me/p/wp8-streaming-flv-h264-aac/
    hljjhb
        5
    hljjhb  
       2017-05-30 19:45:02 +08:00   ❤️ 1
    赞 已 Star
    longaiwp
        6
    longaiwp  
       2017-05-31 16:42:51 +08:00   ❤️ 1
    有趣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.