wlerin / showroom

Script for archiving AKB48 Group related Showroom streams
MIT License
59 stars 20 forks source link

Fail to mux segments #33

Open LidoCKT opened 3 months ago

LidoCKT commented 3 months ago

image

image

Since June 27, all the recorded videos have encountered the following issue: all the segments are packaged into separate .mp4 files that cannot be played.

Log:

07-22 08:44:34 showroom.session DEBUG    ShowroomLiveController:
ConnectionError while accessing https://www.showroom-live.com/api/live/onlives: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
07-22 08:44:34 showroom.session DEBUG    ShowroomLiveController:
Retrying in 2 seconds...
07-22 20:31:40 showroom.core INFO     ShowroomLiveController:
Kawata Hina scheduled for 22:00
07-22 20:31:40 showroom.core DEBUG    ScheduleWriter:
Writing schedules to file
07-22 20:58:00 showroom.core INFO     Watcher-15-Kawata Hina:
Watching Kawata Hina
07-22 21:00:34 showroom.core INFO     Watcher-15-Kawata Hina:
Kawata Hina is now live
07-22 21:00:34 showroom.core DEBUG    ScheduleWriter:
Writing schedules to file
07-22 21:00:34 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
[{'is_default': True, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804.m3u8', 'type': 'hls', 'id': 2, 'label': 'original quality', 'quality': 1500}, {'is_default': True, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/source/chunklist.m3u8', 'type': 'lhls', 'id': 1, 'label': 'original quality (low latency)', 'quality': 1000}, {'is_default': False, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804_l.m3u8', 'type': 'hls', 'id': 4, 'label': 'low quality', 'quality': 150}, {'is_default': False, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/low/chunklist.m3u8', 'type': 'lhls', 'id': 3, 'label': 'low quality (low latency)', 'quality': 100}]
07-22 21:00:34 showroom.downloader WARNING  Watcher-15-Kawata Hina:
Using HLS downloader for Hinatazaka46 2nd Gen Kawata Hina
07-22 21:00:46 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
File transfer: ~/sr/active/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220034.mp4 -> ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220034.mp4
07-22 21:00:46 showroom.downloader INFO     Watcher-15-Kawata Hina:
Completed ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220034.mp4
07-22 21:00:46 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
[{'is_default': True, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804.m3u8', 'type': 'hls', 'id': 2, 'label': 'original quality', 'quality': 1500}, {'is_default': True, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/source/chunklist.m3u8', 'type': 'lhls', 'id': 1, 'label': 'original quality (low latency)', 'quality': 1000}, {'is_default': False, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804_l.m3u8', 'type': 'hls', 'id': 4, 'label': 'low quality', 'quality': 150}, {'is_default': False, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/low/chunklist.m3u8', 'type': 'lhls', 'id': 3, 'label': 'low quality (low latency)', 'quality': 100}]
07-22 21:00:54 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
File transfer: ~/sr/active/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220046.mp4 -> ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220046.mp4
07-22 21:00:54 showroom.downloader INFO     Watcher-15-Kawata Hina:
Completed ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220046.mp4
07-22 21:00:55 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
[{'is_default': True, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804.m3u8', 'type': 'hls', 'id': 2, 'label': 'original quality', 'quality': 1500}, {'is_default': True, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/source/chunklist.m3u8', 'type': 'lhls', 'id': 1, 'label': 'original quality (low latency)', 'quality': 1000}, {'is_default': False, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804_l.m3u8', 'type': 'hls', 'id': 4, 'label': 'low quality', 'quality': 150}, {'is_default': False, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/low/chunklist.m3u8', 'type': 'lhls', 'id': 3, 'label': 'low quality (low latency)', 'quality': 100}]
07-22 21:01:03 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
File transfer: ~/sr/active/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220055.mp4 -> ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220055.mp4
07-22 21:01:03 showroom.downloader INFO     Watcher-15-Kawata Hina:
Completed ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220055.mp4
07-22 21:01:04 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
[{'is_default': True, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804.m3u8', 'type': 'hls', 'id': 2, 'label': 'original quality', 'quality': 1500}, {'is_default': True, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/source/chunklist.m3u8', 'type': 'lhls', 'id': 1, 'label': 'original quality (low latency)', 'quality': 1000}, {'is_default': False, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804_l.m3u8', 'type': 'hls', 'id': 4, 'label': 'low quality', 'quality': 150}, {'is_default': False, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/low/chunklist.m3u8', 'type': 'lhls', 'id': 3, 'label': 'low quality (low latency)', 'quality': 100}]
07-22 21:01:12 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
File transfer: ~/sr/active/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220104.mp4 -> ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220104.mp4
07-22 21:01:12 showroom.downloader INFO     Watcher-15-Kawata Hina:
Completed ~/sr/2024-07-22/Hinatazaka46/240722 Showroom - Hinatazaka46 2nd Gen Kawata Hina 220104.mp4
07-22 21:01:13 showroom.downloader DEBUG    Watcher-15-Kawata Hina:
[{'is_default': True, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804.m3u8', 'type': 'hls', 'id': 2, 'label': 'original quality', 'quality': 1500}, {'is_default': True, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/source/chunklist.m3u8', 'type': 'lhls', 'id': 1, 'label': 'original quality (low latency)', 'quality': 1000}, {'is_default': False, 'url': 'https://hls-css.live.showroom-live.com/live/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804_l.m3u8', 'type': 'hls', 'id': 4, 'label': 'low quality', 'quality': 150}, {'is_default': False, 'url': 'https://hls-ull.showroom-cdn.com/6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804/low/chunklist.m3u8', 'type': 'lhls', 'id': 3, 'label': 'low quality (low latency)', 'quality': 100}]

The .m3u8 is like:

#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:1721654285
#EXT-X-TARGETDURATION:3
#EXTINF:2.008,
6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804-1721654285.ts?txspiseq=106630043152226748739
#EXTINF:2.008,
6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804-1721654286.ts?txspiseq=106630043152226748739
#EXTINF:2.008,
6c776ccf557dfa8a42edfa3bbdffd7652f0af351003ac0c6a363a7ffaa3bc804-1721654287.ts?txspiseq=106630043152226748739
wlerin commented 12 hours ago

If this is still happening, I'd recommend switching to the hls-python branch even though it is still far from feature complete. I have no way of telling ffmpeg how to handle showroom's idiosyncratic streams.