V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sagittarius32
V2EX  ›  FFmpeg

如题,想问问 ffmpeg 能不能暂停正在进行的程序,然后关闭程序后,下次打开再继续上一次的进度

  •  
  •   Sagittarius32 · 2020-03-10 17:00:39 +08:00 · 4121 次点击
    这是一个创建于 1480 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题起因是想下载 hls 流的视频,但视频时间太长,不一定能一次性下载完,所以萌生这个想法,但网上搜索资料后无果。 最主要是停止了程序之后,视频就直接成型了,再重新启动,又得重头再来~~尴尬

    在此感谢路过的回答者~

    {Sagittarius}

    12 条回复    2020-03-11 18:26:09 +08:00
    ZavierXu
        1
    ZavierXu  
       2020-03-10 17:09:31 +08:00
    试试 Ctrl+Z 和 fg
    lxk11153
        2
    lxk11153  
       2020-03-10 17:11:33 +08:00   ❤️ 1
    按 q 退出完成已下载视频的保存,然后下次使用 -ss 调到指定时间
    https://stackoverflow.com/a/57380683/10298463

    ps: 没特殊要求可以使用 ts 格式保存文件呀,防止程序不正常退出导致已下载的无效 see /t/617970
    KyonLi
        3
    KyonLi  
       2020-03-10 17:15:17 +08:00   ❤️ 1
    HLS 是 live stream,这个需求就相当于无服务端支持实现任意时间点的直播回放
    crella
        4
    crella  
       2020-03-10 20:12:24 +08:00 via Android   ❤️ 1
    hls 应该只是解析 m3u8 并下载、合并吧

    我自己都写了个简单下载 m3u8 的工具。不难,gayhub 上一大堆。不需要依赖 ffmpeg
    Rheinmetal
        5
    Rheinmetal  
       2020-03-10 21:26:43 +08:00   ❤️ 1
    用支持断点续传的 m3u8 工具
    Sagittarius32
        6
    Sagittarius32  
    OP
       2020-03-10 22:16:48 +08:00
    @lxk11153 是 m3u8 输出保存成 ts 文件吗?然后再合并转 MP4 ?不过命令出错,能写个范例不?~下载中途退出保存已下载的视频,下次再指定时间也不是不可以,我也想过,这也只好是折中办法,最后还要把视频合并在一起。谢谢你的回答啦~
    @crella 嗯,我找找看,或者大佬来个推荐哈哈?
    @Rheinmetal 这个没怎么了解过哎,有什么类似工具么??我看到有些人用 idm,不过不知道符不符合我的问题,因为没用过,只好实践一下了
    crella
        7
    crella  
       2020-03-10 22:55:43 +08:00
    @Sagittarius32 你解析好 m3u8 文件,生成全部的文件连接,然后用 aria2 或者 curl 断点续传就可以啦。

    比如 aria2,没下完而退出下载的文件,会出现同名.aria2 文件。检查是否存在同名的 ts 和同名的 aria2,即可判断三种状态:文件成功下载、文件暂停下载、文件未开始下载

    我是菜鸟,如有错误敬请谅解。
    crella
        8
    crella  
       2020-03-10 22:58:08 +08:00
    不过 m3u8 的那个格式有点难搞,以下情况都有

    文件名.ts
    /dir1/dir2/hls/文件名.ts
    www.net.com/dir1/hls/文件名.ts

    我也不能自动识别上述三个情况; github 上那些工具应该“智能”一点
    Rheinmetal
        9
    Rheinmetal  
       2020-03-11 09:01:47 +08:00 via Android
    IDM you-get 之类的工具的好处是可以自动解析部分站点(优酷 b 站等等
    支持断点续传
    问题是碰到不能解析的就很难受 就得自己搞了
    如果能覆盖你的需求的话用起来很舒服
    Rheinmetal
        10
    Rheinmetal  
       2020-03-11 09:03:39 +08:00 via Android
    遇到不支持的站
    idm 只能提需求了 you-get 之类开源工具可以自己上手写提取模块
    lxk11153
        11
    lxk11153  
       2020-03-11 11:02:06 +08:00
    @Sagittarius32 #6 没特殊要求不用转 mp4 呀,ts 文件就可以了,播放器支持的呀

    ps: 还是找 m3u8 多线程断点续传的下载器为妙,比如
    Windows 下 https://github.com/nilaoda/N_m3u8DL-CLI
    Python 下 https://github.com/tosobright/m3u8-Downloader
    Java 下 https://github.com/Jay-Goo/M3U8Downloader
    Sagittarius32
        12
    Sagittarius32  
    OP
       2020-03-11 18:26:09 +08:00
    @lxk11153 对哎,ts 直接播放
    @crella
    @Rheinmetal

    已经用了一个比较笨的方法解决了,直接用了迅雷批量下载 ts 文件。主要懒得再下载其他工具,打算用电脑手头上的软件来解决。有空再研究研究大家说的软件和方法。再次感谢三位的回复啦~

    此回复顺便用作结帖~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5315 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 09:06 · PVG 17:06 · LAX 02:06 · JFK 05:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.