V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Apol1oBelvedere
V2EX  ›  问与答

如何“高效地”录制网页里的“在线直播”视频?

  •  
  •   Apol1oBelvedere · 2020-09-27 20:03:18 +08:00 · 3664 次点击
    这是一个创建于 1543 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好: 最近遇到一些在线直播视频需要录制下来,如“目睹直播 http://mudu.tv/product/product” 等各种技术的网页在线直播视频。
    我的办法:开一个虚拟机,把网页全屏(为了提高视频录制质量),使用 OCam 进行录制。
    我的需求:可以最小化后台录制,不影响其他文档编辑工作。

    有没有办法通过软件直接定位网页的“直播窗口元素”进行录制,而不是在屏幕播放通过录屏的方式进行? 大家有什么好的技术?

    22 条回复    2021-06-23 01:10:15 +08:00
    grimpil
        1
    grimpil  
       2020-09-27 20:26:57 +08:00 via Android
    ffmpeg 直接路录不行么?
    0xc00007b
        2
    0xc00007b  
       2020-09-27 20:27:53 +08:00
    这么跟你说吧,我不知道
    Oceanhime
        3
    Oceanhime  
       2020-09-27 20:29:57 +08:00
    如果你知道并且可以解析直播的源地址, 那么你可以直接下载传输过来的视频, 浏览器都不需要开。
    比如 http-flv 或者 HLS, 没有复杂加密情况下, ffmpeg 就可以直接下载。
    lxk11153
        4
    lxk11153  
       2020-09-27 20:44:55 +08:00
    学编程之后,你就懂这些了[doge]
    Apol1oBelvedere
        5
    Apol1oBelvedere  
    OP
       2020-09-27 21:21:50 +08:00
    @Oceanhime 我侦测到了一个 m3u8 的地址,但是直播结束这个地址就失效了,用 ffmpeg 无法下载了,只能下次试试了。
    对于嗅探不到地址的,有什么后台录制办法吗?
    Apol1oBelvedere
        6
    Apol1oBelvedere  
    OP
       2020-09-27 21:48:13 +08:00
    @Oceanhime 现在通过“猫抓”或“Stream Recorder”扩展,能侦测出一些视频流地址进行下载。对嗅探不到地址的,有什么后台录制办法吗?
    Oceanhime
        7
    Oceanhime  
       2020-09-27 22:05:52 +08:00
    @Apol1oBelvedere 你可以试一下 debugger F12 抓一下网络请求, 通常情况下都能抓到, 甚至有的浏览器端就可以直接下载, 或者抓包看看
    如果说是后台录制的话, 对这个不太清楚, 可以蹲一个大神
    OBS 或许可以?
    wunonglin
        8
    wunonglin  
       2020-09-27 23:35:33 +08:00
    直接看 network 找到 m3u8 或者 flv 地址用 ffmpeg 保存就行了,哪有那么麻烦
    Apol1oBelvedere
        9
    Apol1oBelvedere  
    OP
       2020-09-27 23:38:16 +08:00
    @wunonglin 对嗅探不到地址的特殊网页直播视频,有什么后台录制办法吗?
    ck65
        10
    ck65  
       2020-09-28 03:28:21 +08:00
    在虚拟机里再装一个虚拟机,用里虚拟机全屏播放,用表虚拟机录屏,再最小化表虚拟机。
    iamwho
        11
    iamwho  
       2020-09-28 05:06:04 +08:00
    我这个人比较俗,你就说你愿意付出多少钱解决这个问题吧。
    hunk
        12
    hunk  
       2020-09-28 06:06:20 +08:00
    streamlink,命令行直接录
    lxilu
        13
    lxilu  
       2020-09-28 07:50:25 +08:00 via iPhone
    apowersoft 有个啥来着
    ansonsiva
        14
    ansonsiva  
       2020-09-28 07:56:02 +08:00
    @ck65 #10 禁止套娃,😂
    TheWallBackMoon
        15
    TheWallBackMoon  
       2020-09-28 15:02:59 +08:00
    loom,直接秒杀
    Apol1oBelvedere
        16
    Apol1oBelvedere  
    OP
       2020-09-28 20:19:34 +08:00
    @lxilu Apowersoft 录屏王,旧版本有嗅探但是下载合并容易失败,新版本由于版权问题无嗅探不好用。
    Apol1oBelvedere
        17
    Apol1oBelvedere  
    OP
       2020-09-28 20:57:06 +08:00
    @ck65 装一个虚拟机,里面浏览器全屏播放,录屏软件直接录全屏,然后虚拟机最小化,在主机工作即可。不过也不是很高效。
    Apol1oBelvedere
        18
    Apol1oBelvedere  
    OP
       2020-09-28 21:29:19 +08:00
    @TheWallBackMoonhttps://www.loom.com/这个吗?这是摄像头录视频交流的,不是录制网页里在播放的视频的。
    “Welcome to our growing community of more than 6 million professionals who use video to communicate faster and more effectively at work. We're happy you're here!”
    Apol1oBelvedere
        19
    Apol1oBelvedere  
    OP
       2021-06-22 22:18:49 +08:00
    @TheWallBackMoon 看了现在的 Loom 免费版有限制了,https://www.loom.com/settings/workspace#plans,只能录制 5 分钟。
    Apol1oBelvedere
        20
    Apol1oBelvedere  
    OP
       2021-06-22 22:22:40 +08:00
    @wunonglin 直播的 M3U8 里面只有几个 ts 切片,无法通过 M3U8 来直接下载。
    Apol1oBelvedere
        21
    Apol1oBelvedere  
    OP
       2021-06-23 00:44:58 +08:00
    @hunk 目前采用"streamlink -r filename.mp4 $URL best"打开播放器来实现命令行与播放器双重录制,双保险防止播放器崩溃出错。
    Apol1oBelvedere
        22
    Apol1oBelvedere  
    OP
       2021-06-23 01:10:15 +08:00
    @grimpil 使用 ffmpeg 录制视频出现一个错误,暂时以 bilibili 的直播举例:
    c:> ffmpeg -i "https://live.bilibili.com/23205939?hotRank=0&session_id=72ed34521b78cf42_97CCA32F-CEB9-4E26-AFE7-BDDD37C29CD3&visit_id=4t68rczc4yw0" -c:v copy -c:a copy -bsf:a aac_adtstoasc d:\cap.mp4
    运行出错:
    https://live.bilibili.com/23205939: Invalid data found when processing input


    c:>streamlink -r cap.mp4 "https://live.bilibili.com/23205939?hotRank=0&session_id=72ed34521b78cf42_97CCA32F-CEB9-4E26-AFE7-BDDD37C29CD3&visit_id=4t68rczc4yw0" best
    运行正常并打开了播放器可以录制。

    请问 ffmpeg 如何设置才能正常录制?是因为 streamlink 有比 ffmpeg 更强的 HLS 协议识别吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:03 · PVG 21:03 · LAX 05:03 · JFK 08:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.