justfoolingaround / animdl

A highly efficient, fast, powerful and light-weight anime downloader and streamer for your favorite anime.
GNU General Public License v3.0
1.33k stars 109 forks source link

Crunchyroll selection not working consistently #98

Closed Munzu closed 2 years ago

Munzu commented 2 years ago

Hello, sorry to bother you with Crunchyroll again, just wanted to let you know that the solution you proposed in #96 doesn't seem to be working for me without specifying an episode number with -r <episode number>

# without episode number:
python -m animdl stream https://www.crunchyroll.com/konosuba-gods-blessing-on-this-wonderful-world -q "[title=r'KONOSUBA -God.s blessing on this wonderful world! 2']"
                                                                      justfoolingaround/animdl - v1.4.45                                                                     
                                                               A highly efficient anime downloader and streamer                                                              
[stream.py:168 - 2022-01-10 21:20:13,530 - crunchyroll/streamer: I] Now initiating your stream session
[intelliq.py:237 - 2022-01-10 21:20:16,904 - utils/intelliq: W] No streams fulfill "[title=r'konosuba -god.s blessing on this wonderful world! 2']".
[intelliq.py:239 - 2022-01-10 21:20:16,905 - utils/intelliq: W] Quality checks have failed miserably. Returning everything back.
[stream.py:27 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽ KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson (KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson (English Dub) - KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson)
[stream.py:29 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 01: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 04: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 05: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 08: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 09: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 02: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 03: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 06: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 07: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] 10: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽ KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson (KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson - KONOSUBA -God's blessing on this wonderful world!- Legend of Crimson)
[stream.py:29 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 21:20:16,906 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 11: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 13: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 16: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 18: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 19: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 12: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 14: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 15: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 17: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 21:20:16,907 - crunchyroll/streamer: I] 20: 'master.m3u8' from VRV
Select above, using the stream index [1]:

It still only finds two versions of the "Legend of Crimson" movie, not the second season that I was looking for.

However, it did work as is for Non Non Biyori:

python -m animdl stream https://www.crunchyroll.com/non-non-biyori -q "[title='Non Non Biyori']"
                                                                      justfoolingaround/animdl - v1.4.45                                                                     
                                                               A highly efficient anime downloader and streamer                                                              
[stream.py:168 - 2022-01-10 22:41:53,421 - crunchyroll/streamer: I] Now initiating your stream session
[intelliq.py:237 - 2022-01-10 22:41:56,948 - utils/intelliq: W] No streams fulfill "[title='non non biyori']".
[intelliq.py:239 - 2022-01-10 22:41:56,948 - utils/intelliq: W] Quality checks have failed miserably. Returning everything back.
[stream.py:27 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽ A New Transfer Student Came (Non Non Biyori Episode 1)
[stream.py:29 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 01: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 04: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 06: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 08: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 09: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 02: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 03: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 05: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 07: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 10: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽ I Became a First Grader (Non Non Biyori Repeat Episode 1)
[stream.py:29 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 11: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 13: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,950 - crunchyroll/streamer: I] 15: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 17: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 20: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 12: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 14: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 16: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 18: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 19: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] ▽ I Played the Frog Song (Non Non Biyori Nonstop Episode 1)
[stream.py:29 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 21: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 23: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 26: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 27: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] 29: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:41:56,951 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:41:56,952 - crunchyroll/streamer: I] 22: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,952 - crunchyroll/streamer: I] 24: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,952 - crunchyroll/streamer: I] 25: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:41:56,952 - crunchyroll/streamer: I] 28: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:41:56,952 - crunchyroll/streamer: I] 30: 'master.m3u8' from VRV
Select above, using the stream index [1]:

To get it to work consistently, I have to specify an episode number with -r <episode number>. However, it will still show the other seasons.

python -m animdl stream https://www.crunchyroll.com/konosuba-gods-blessing-on-this-wonderful-world -q "[title=r'KONOSUBA -God.s blessing on this wonderful world! 2']" -r 2
                                                                      justfoolingaround/animdl - v1.4.45                                                                     
                                                               A highly efficient anime downloader and streamer                                                              
[stream.py:168 - 2022-01-10 22:17:12,410 - crunchyroll/streamer: I] Now initiating your stream session
[intelliq.py:237 - 2022-01-10 22:17:21,120 - utils/intelliq: W] No streams fulfill "[title=r'konosuba -god.s blessing on this wonderful world! 2']".
[intelliq.py:239 - 2022-01-10 22:17:21,120 - utils/intelliq: W] Quality checks have failed miserably. Returning everything back.
[stream.py:27 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] ▽ An Explosion for This Chunibyo! (KONOSUBA -God's blessing on this wonderful world! (English Dub) Episode 2)
[stream.py:29 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 01: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 04: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 06: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 08: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 10: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 02: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 03: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 05: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 07: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,125 - crunchyroll/streamer: I] 09: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽ A Friend for This Crimson Demon Girl! (KONOSUBA -God's blessing on this wonderful world! 2 (English Dub) Episode 2)
[stream.py:29 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 11: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 13: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 16: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 17: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 19: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 12: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 14: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 15: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 18: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 20: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽ An Explosion for This Chunibyo! (KONOSUBA -God's blessing on this wonderful world! Episode 2)
[stream.py:29 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 21: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 24: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 25: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 28: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 29: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 22: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,126 - crunchyroll/streamer: I] 23: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 26: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 27: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 30: 'master.m3u8' from VRV
[stream.py:27 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] ▽ A Friend for This Crimson Demon Girl! (KONOSUBA -God's blessing on this wonderful world! 2 Episode 2)
[stream.py:29 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] ▽▽ No specific quality mentioned
[stream.py:31 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] ▽▽▽ Hard subtitles (Subtitles are forced.)
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 31: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 33: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 36: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 38: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 39: 'master.m3u8' from VRV
[stream.py:31 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] ▽▽▽ Soft subtitles (Subtitles are not forced.)
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 32: 'manifest.mpd' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 34: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 35: 'master.m3u8' from Crunchyroll
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 37: 'manifest.mpd' from VRV
[stream.py:33 - 2022-01-10 22:17:21,127 - crunchyroll/streamer: I] 40: 'master.m3u8' from VRV
Select above, using the stream index [1]:

Just in case it's useful for anyone else reading this, I wrote myself a small bash function so I don't have to type all that out everytime

function crunchyroll() {
    # Usage: `ani <link> <episode number>`
    local title=$(echo $1 | cut -d'/' -f4 | cut -d'-' -f1)
    python -m animdl stream $1 -q $title -r $2
}

For the title, the function just cuts out the first word in the anime title from the url, apparently that's enough to get the same result. If you're wondering why I have python -m in front of animdl, I just haven't bothered adding animdl to my PATH.

Feel free to close this issue if you don't plan on doing anything to it, just wanted to document it somewhere.

justfoolingaround commented 2 years ago

Keep in mind that the quality strings are very configurable.

Your Crunchyroll streams have the following attributes: stream_url, title and subtitle.

These attributes can be checked for presence using [stream_url][title][subtitle]. This quality check string makes it so that streams missing all three of these attributes not get selected.

You can check for the attribute contents using two of the following,

As such, [title=r"KONOSUBA.+2"], will use the regex KONOSUBA.+Season 2 and find the titles that match the regex.

The normal string can also be used via [title="KONOSUBA -God's blessing on this wonderful world!"] (r prefix to the " is the difference there), which isn't preferred as this eliminates most options. Do use this accordingly to your needs!