Skip to content

在下载直播流时使用 --live-keep-segments false, 完成后会有暂存档残留 #836

@DontNuts

Description

@DontNuts

发生条件主要是两个:

  • 必须是直播流 (m3u8 或 mpd 都可)
  • 使用 --live-keep-segments false
  • [可选] 使用 --live-record-limit (这个不知有没有关, 但不用这个就不能自动停止, 如果用 Ctrl-C 停止的话会直接忽略所有暂存档)

其他参数我没有详细测试, 我用的参数是:
--tmp-dir "tmp" --no-log -mt --sub-format srt --ui-language en-US --key xxxxxxxx:yyyyyyyy --use-shaka-packager --mp4-real-time-decryption -R 8m -M format=mp4 --live-real-time-merge --live-keep-segments false --live-record-limit 10 --live-pipe-mux -sv best -sa all -ss all "https://xxxxxxxx.com/master.mpd"

当完成下载后, 除了 tmp 本身, 在 tmp 入面的每个轨道的资料夹本身都没有自动删除, 如果是 mpd 的话, 还会残留 _init.mp4 在每个资料夹中...

在 0.3 版时我也有回应过, 也有自己修改过自己用 (#174 (comment)), 但想不到现在 0.5 版了还是没修好喔.

如果是 0.5.1 版的话, 我自己会在 SimpleLiveRecordManager2.cs 的第 632 行加入这段

        if (!DownloaderConfig.MyOptions.LiveKeepSegments)
        {
            if (mp4InitFile != "")
                File.Delete(mp4InitFile);
            Directory.Delete(tmpDir);
        }

不知有没有漏掉其他地方, 反正能用就算了, 只是每次有新版本都要自己改一次...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions