stabbedbybrick / freevine

A Download Utility for Free Streaming Services
MIT License
170 stars 30 forks source link

BBCV iPlayer: Silent Witness complete download crash #62

Closed evbuk1 closed 7 months ago

evbuk1 commented 8 months ago

Describe the bug When I attempt to download the complete Silent Witness from BBC iPlayer, freevine crashes after retrieving a few episodes.

To Reproduce Invoke with:

python freevine.py get --complete https://www.bbc.co.uk/iplayer/episodes/b007y6k8/silent-witness

Expected behavior All episodes should download correctly.

Error received is as follows:

21:13:25.202 INFO : Start downloading...Vid Kbps
21:13:25.492 WARN : Reading media info...                               
21:13:25.526 INFO : [0x22]: Audio, aac (LC) ([15][0][0][0]), 129 kb/s   
21:13:25.526 INFO : [0x21]: Video, h264 (High) ([27][0][0][0]), 1920x1080, 50
fps Kbps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% - 0Bps 00:01:47 ⣟
21:13:58.008 INFO : Binary merging...                                        
21:14:01.098 WARN : 
Silent.Witness.Blood.Sweat.and.Tears.Part.1.1080p.iP.WEB-DL.AAC2.0.H.264.ts
21:14:01.098 WARN : 
Silent.Witness.Blood.Sweat.and.Tears.Part.1.1080p.iP.WEB-DL.AAC2.0.H.264.srt
21:14:01.098 WARN : Muxing to 
Silent.Witness.Blood.Sweat.and.Tears.Part.1.1080p.iP.WEB-DL.AAC2.0.H.264.MUX.
mkv
21:14:07.046 WARN : Cleaning files...
21:14:07.228 WARN : Rename to 
Silent.Witness.Blood.Sweat.and.Tears.Part.1.1080p.iP.WEB-DL.AAC2.0.H.264.mkv
21:14:07.228 INFO : Done
21:14:07.713 INFO : Silent Witness Blood, Sweat and Tears: Part 2

21:14:07.777 INFO : N_m3u8DL-RE (Beta version) 20230628
21:14:07.788 INFO : Loading URL: http://vod-hls-uk-live.akamaized.net/usp/auth/vod/piff_abr_full_hd/4a556a-p07kv4x0/vf_p07kv4x0_ebf920db-a5d9-4eaa-ba7f-48dfad9b2f7d.ism/hls/vf_p07kv4x0_ebf920db-a5d9-4eaa-ba7f-48dfad9b2f7d-audio_eng_1=128000-video=12000000.m3u8
21:14:07.871 INFO : Content Matched: HTTP Live Streaming
21:14:07.871 INFO : Parsing streams...
21:14:07.874 WARN : Writing meta json
21:14:07.874 INFO : Extracted, there are 1 streams, with 1 basic streams, 0 audio streams, 0 subtitle streams
21:14:07.874 INFO : Vid Kbps | 378 Segments | ~48m20s
21:14:07.875 INFO : Selected streams:
21:14:07.875 INFO : Vid Kbps | 378 Segments | ~48m20s
21:14:07.875 WARN : Writing meta json
21:14:07.875 INFO : Save Name: 
Silent.Witness.Blood.Sweat.and.Tears.Part.2.1080p.iP.WEB-DL.AAC2.0.H.264
21:14:07.875 WARN : MuxAfterDone is detected, binary merging is automatically
enabled
21:14:07.875 INFO : Start downloading...Vid Kbps
21:14:10.223 WARN : Reading media info...                                    
21:14:10.261 INFO : [0x22]: Audio, aac (LC) ([15][0][0][0]), 129 kb/s        
21:14:10.261 INFO : [0x21]: Video, h264 (High) ([27][0][0][0]), 1920x1080, 50
fps Kbps ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% - 3.89MBps --:--:-- ⣽ 
21:14:41.465 INFO : Binary merging...                                        
21:14:44.856 WARN : 
Silent.Witness.Blood.Sweat.and.Tears.Part.2.1080p.iP.WEB-DL.AAC2.0.H.264.ts
21:14:44.857 WARN : 
Silent.Witness.Blood.Sweat.and.Tears.Part.2.1080p.iP.WEB-DL.AAC2.0.H.264.srt
21:14:44.857 WARN : Muxing to 
Silent.Witness.Blood.Sweat.and.Tears.Part.2.1080p.iP.WEB-DL.AAC2.0.H.264.MUX.
mkv
21:14:50.874 WARN : Cleaning files...
21:14:51.053 WARN : Rename to 
Silent.Witness.Blood.Sweat.and.Tears.Part.2.1080p.iP.WEB-DL.AAC2.0.H.264.mkv
21:14:51.054 INFO : Done
Traceback (most recent call last):
  File "/home/evan.brown/Desktop/freevine/freevine.py", line 15, in <module>
    cli()
  File "/home/evan.brown/.local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/evan.brown/.local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/evan.brown/.local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/evan.brown/.local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/evan.brown/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/evan.brown/Desktop/freevine/utils/commands.py", line 84, in get
    Service(config, **kwargs)
  File "/home/evan.brown/Desktop/freevine/services/bbciplayer/bbciplayer.py", line 50, in __init__
    self.get_options()
  File "/home/evan.brown/Desktop/freevine/services/bbciplayer/bbciplayer.py", line 331, in get_options
    self.download(download, title)
  File "/home/evan.brown/Desktop/freevine/services/bbciplayer/bbciplayer.py", line 381, in download
    self.clean_subtitles(subtitle, self.filename)
  File "/home/evan.brown/Desktop/freevine/services/bbciplayer/bbciplayer.py", line 358, in clean_subtitles
    start = tag["begin"]
  File "/usr/lib/python3/dist-packages/bs4/element.py", line 1486, in __getitem__
    return self.attrs[key]
KeyError: 'begin'
stabbedbybrick commented 8 months ago

It's having trouble with converting a particular subtitle. I'll be adding a more advanced subtitle converter soon, which will fix this.

stabbedbybrick commented 7 months ago

This was fixed in latest release: https://github.com/stabbedbybrick/freevine/releases/tag/v1.1.7, so I'll close this as completed.