profile
viewpoint

Diaoul/subliminal 2051

Subliminal - Subtitles, faster than your thoughts

Diaoul/arduino-ESP8266 68

An Arduino library to manage the ESP8266.

Diaoul/enzyme 48

Python video metadata parser

Diaoul/arduino-Maxbotix 38

An Arduino library to read Maxbotix ultrasonic sensors.

Diaoul/pyjulius 29

Python interface to Julius speech recognition engine

Diaoul/nautilus-subliminal 27

Subliminal integration within Nautilus file manager

Diaoul/babelfish 16

BabelFish is a Python library to work with countries and languages

Diaoul/syno-packager 11

Scripts, changes, tools to compile and package different programs for Synology NAS devices.

Diaoul/Dobby 9

The house-elf you can talk to

Diaoul/hachi 6

Hachi is a Python library to interact with XBees.

startedDiaoul/subliminal

started time in 21 hours

issue commentDiaoul/subliminal

OMDB HTTPError: 401 Client Error

Fixed by 3aea2d7

Now you can provide the apikey when using subliminal. If not provided, refiner will be skipped

how can I provide my omdb API key? I couldn't find where should I add it using subliminal CLI.

pannal

comment created time in a day

issue commentDiaoul/subliminal

[Feature Request] Please add subscene

@Diaoul @mamins1376 Any update on this? #950 seems fixed. Damn, I miss Subscene on Subliminal sooooo much.

dmarcelino

comment created time in a day

startedDiaoul/subliminal

started time in 2 days

issue openedDiaoul/subliminal

Subtitle downloaded even when there are embedded subtitles

For some files, subliminal downloads an english subtitle even though there is already an embedded subtitle in the file. Here are some parts of the debug

subliminal --debug download -l en The\ Mandalorian\ S01E01.mp4

DEBUG:subliminal.cli:Collecting path The Mandalorian S01E01.mp4
INFO:subliminal.core:Scanning video 'The Mandalorian S01E01.mp4' in ''
DEBUG:subliminal.core:Size is 944029203
DEBUG:subliminal.core:Found subtitles {'The Mandalorian S01E01.fr.srt': <Language [fr]>}
INFO:subliminal.core:Refining video with hash
DEBUG:subliminal.refiners.hash:Computing hashes for 'The Mandalorian S01E01.mp4'
DEBUG:subliminal.refiners.hash:Computed hashes {'opensubtitles': 'fce93c51d64fe228', 'shooter': '3d8604553e1d79ff046012b67f2a5b3e;b86604b85b52b2bede4aff88c55b826e;0570296baac54cab665008eb1728dc7e;a8fcaa83e73db1c26938024a76bb3a04', 'thesubdb': '499be8e12e8160326188fb4a30403a5d'}
INFO:subliminal.core:Refining video with metadata
DEBUG:subliminal.refiners.metadata:Unsupported video extension .mp4
INFO:subliminal.core:Refining video with tvdb
INFO:subliminal.refiners.tvdb:Searching series 'The Mandalorian'
DEBUG:subliminal.refiners.tvdb:Found 2 results
DEBUG:subliminal.refiners.tvdb:Found exact match on series 'The Mandalorian'
DEBUG:subliminal.providers.tvsubtitles:Found subtitle <TVsubtitlesSubtitle '310007' [en]>
ERROR:subliminal.utils:Request timed out. Provider thesubdb
INFO:subliminal.core:Discarding provider thesubdb
INFO:subliminal.score:Computing score of <ShooterSubtitle 'https://www.shooter.cn/api/subapi.php?fetch=MTYxMDk3MTI1OHxZc1JVNHRJMDFPVjdHbm1fM3pFYVNNX3h6X3pjZHhXUXVLZ2E3R2tTc3ZtSXB6ZnVnSUpodHREaUFCOE5FOEt5SFZiSjJkU19mRFB0SjlDdmNWNFYzd0pIV2pZUExPTTZ4MjVQMzQ5aTZkVDJXX3ZqaTEtWFMtRWVmMGswLVowdFMzb2dMUT09fJT4JfWJolNjEJEGnkSsI4v28sHHUfYKcAc4NGFBiUCJ&nonce=%B9%A3p%A0%EF%BF%94V%9C%0D.%D4%FCi5%9C' [en]> for video <Episode [The Mandalorian2019 s01e01]> with {'hearing_impaired': False}
DEBUG:subliminal.score:Using scores {'hash': 809, 'series': 405, 'year': 135, 'country': 135, 'season': 45, 'episode': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
DEBUG:subliminal.score:Found matches {'hash'}
DEBUG:subliminal.score:Keeping only hash match
DEBUG:subliminal.score:Matched hearing_impaired
INFO:subliminal.score:Computed score 810 with final matches {'hash', 'hearing_impaired'}
INFO:subliminal.score:Computing score of <ShooterSubtitle 'https://www.shooter.cn/api/subapi.php?fetch=MTYxMDk3MTI1OHxTQ01UQ05GNk0xWHUxYU1zMVI4Z1dMN0gyT3BUY1UzaWw4RnMwekRuVjBSSFFuZzUyYjRHVGJ1WXJySjRCTGdzZklXSlhKUmdmdGZZa1NMM0ZsblBCNG93YXg1Sno5Y3JkQXAwbGJRUU5JX0ZSSEdtQU84SV94SGd3ZXQ5SmpfWC1tdUF2UT09fLvRgaV7BkrrytkEDX9F8v35UCXXo3MVAK-cmQTxs_LW&nonce=%D6%E7%18nkU%2C%80%2F%FE%7B%2B%E5%C6%EF%FB' [en]> for video <Episode [The Mandalorian2019 s01e01]> with {'hearing_impaired': False}
DEBUG:subliminal.score:Using scores {'hash': 809, 'series': 405, 'year': 135, 'country': 135, 'season': 45, 'episode': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
DEBUG:subliminal.score:Found matches {'hash'}
DEBUG:subliminal.score:Keeping only hash match
DEBUG:subliminal.score:Matched hearing_impaired
INFO:subliminal.score:Computed score 810 with final matches {'hash', 'hearing_impaired'}
INFO:subliminal.score:Computing score of <ShooterSubtitle 'https://www.shooter.cn/api/subapi.php?fetch=MTYxMDk3MTI1OHx6bl81UDdwU3FqdnR1RDB6X0VGVTdCb3p2c3NKalBZVU83R09Rb253UTNqNVdhSlVWM3NRdlRvQVV5a2NPVlpEV2ZzTk1EekN0dTg4bkJRbVBmanVlWTJobVhnREliN3I0ak82ZDBIT09zcXl6cTBMN0k5WkZjMlVtTWhGY3EybzJKTEtsZz09fJ0tTptnORW_gXZDK22QMr_DWudsD0yzuWFjXNPOEQab&nonce=%09%9C%FC%14%A67%22%8E%7DR%F9%9Di%CE%9F%F5' [en]> for video <Episode [The Mandalorian2019 s01e01]> with {'hearing_impaired': False}
DEBUG:subliminal.score:Using scores {'hash': 809, 'series': 405, 'year': 135, 'country': 135, 'season': 45, 'episode': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
DEBUG:subliminal.score:Found matches {'hash'}
DEBUG:subliminal.score:Keeping only hash match
DEBUG:subliminal.score:Matched hearing_impaired
INFO:subliminal.score:Computed score 810 with final matches {'hash', 'hearing_impaired'}
INFO:subliminal.score:Computing score of <TVsubtitlesSubtitle '310007' [en]> for video <Episode [The Mandalorian2019 s01e01]> with {'hearing_impaired': False}
DEBUG:subliminal.score:Using scores {'hash': 809, 'series': 405, 'year': 135, 'country': 135, 'season': 45, 'episode': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
DEBUG:subliminal.score:Found matches {'season', 'series', 'country', 'episode', 'year'}
DEBUG:subliminal.score:Matched hearing_impaired
INFO:subliminal.score:Computed score 766 with final matches {'season', 'series', 'hearing_impaired', 'country', 'episode', 'year'}
INFO:subliminal.core:Downloading subtitle <ShooterSubtitle 'https://www.shooter.cn/api/subapi.php?fetch=MTYxMDk3MTI1OHxZc1JVNHRJMDFPVjdHbm1fM3pFYVNNX3h6X3pjZHhXUXVLZ2E3R2tTc3ZtSXB6ZnVnSUpodHREaUFCOE5FOEt5SFZiSjJkU19mRFB0SjlDdmNWNFYzd0pIV2pZUExPTTZ4MjVQMzQ5aTZkVDJXX3ZqaTEtWFMtRWVmMGswLVowdFMzb2dMUT09fJT4JfWJolNjEJEGnkSsI4v28sHHUfYKcAc4NGFBiUCJ&nonce=%B9%A3p%A0%EF%BF%94V%9C%0D.%D4%FCi5%9C' [en]>
INFO:subliminal.providers.shooter:Downloading subtitle <ShooterSubtitle 'https://www.shooter.cn/api/subapi.php?fetch=MTYxMDk3MTI1OHxZc1JVNHRJMDFPVjdHbm1fM3pFYVNNX3h6X3pjZHhXUXVLZ2E3R2tTc3ZtSXB6ZnVnSUpodHREaUFCOE5FOEt5SFZiSjJkU19mRFB0SjlDdmNWNFYzd0pIV2pZUExPTTZ4MjVQMzQ5aTZkVDJXX3ZqaTEtWFMtRWVmMGswLVowdFMzb2dMUT09fJT4JfWJolNjEJEGnkSsI4v28sHHUfYKcAc4NGFBiUCJ&nonce=%B9%A3p%A0%EF%BF%94V%9C%0D.%D4%FCi5%9C' [en]>
INFO:subliminal.subtitle:Guessing encoding for language en
DEBUG:subliminal.subtitle:Trying encodings ['utf-8', 'latin-1']
INFO:subliminal.subtitle:Guessed encoding latin-1
INFO:subliminal.subtitle:Guessing encoding for language en
DEBUG:subliminal.subtitle:Trying encodings ['utf-8', 'latin-1']
INFO:subliminal.subtitle:Guessed encoding latin-1
DEBUG:subliminal.core:All languages downloaded
Downloading subtitles  [####################################]  100%               

created time in 2 days

startedDiaoul/subliminal

started time in 3 days

startedDiaoul/enzyme

started time in 4 days

startedDiaoul/subliminal

started time in 4 days

push eventguessit-io/guessit

Rémi Alvergnat

commit sha 7d2b4bdbc0697ca592ce329b85f8c29a1084149d

ci(release): use robotology/gh-action-nightly-merge@v1.3.2

view details

push time in 7 days

issue commentDiaoul/subliminal

Some providers have been discarded due to unexpected errors: opensubtitles

You need to provide a login like this:

subliminal --debug --opensubtitles "username" "password" download -p opensubtitles -l en .

Please, do not use long passwords or it will not work (with 64 does not work, with 16 it works just fine)

Thank you for discovering this... I do have 65 char password and have been wondering for months why it didn't work!!

andradadad

comment created time in 8 days

startedDiaoul/subliminal

started time in 11 days

startedDiaoul/subliminal

started time in 12 days

fork andyguwc/subliminal

Subliminal - Subtitles, faster than your thoughts

http://subliminal.readthedocs.org

fork in 13 days

issue openedDiaoul/subliminal

Use 3 letter country code instead of 2

When asking a subtitle for movie.mp4, the subtitle will be named movie.en.srt. I was wondering if it were possible to let it output 3 letter counrty codes so it would be movie.eng.srt?

created time in 14 days

fork labrys/enzyme

Python video metadata parser

fork in 15 days

issue openedguessit-io/guessit

[Open Discussion] Guessit Plugins and Social guess checking

Hi,

This is an open discussion to bring some ideas on the table.

We still have many issues showing some invalid guess results, and I don't know how to solve most of them without going a step further with guessit.

First of all, I want to point out that guessit is and must stay a pure string parser, so I want to keep guessit focused on this goal. So I'm planing to bring optional features through an open and documented plugin API that could be used by any other developers to enhance or extend the library, and those features will be distributed in other pypi packages.

This plugin API would allow to : - Intercept everything during guessit initialization, so it's possible to customize internal patterns (rebulk string, regex and functional patterns, rebulk rules, ...). - Intercept each pattern and rule execution during the process, to mutate input or output locally in the pattern or rule. - Intercept the whole guess process to mutate input or output globally.

It also seems obvious that some additional context, data or human guidance may help to improve guess results for edge cases. I can see two options to help guessit give better results.

1. Social Guess Checking

Guessit could record all guesses (query & response) from all users in a public API. Users could be authenticated or anonymous on a webapp built using this API. This webapp would provide access to all guess results, and user could vote up/down for their correctness. If someone think some result is wrong, he can provide an alternative response and other users can then vote for this alternative response. guessit could then provide the alternative response from the database for all users trying to parse the same string inside guessit later.

I really like this approach because: - It will solve issues for all users on some popular release names that can't be parsed properly (This is us, ...) - It brings a lot of cases to enhance the guessit algorithms and make it stronger.

2. The Movie Database API Integration

By providing the whole filename to The Movie Database API, it may help to identify the title of the movie, so guessit can then use it through automation of "expected_title" option.

Feel free to react about those ideas, and post your own if you like :)

created time in 19 days

startedDiaoul/subliminal

started time in 21 days

PR opened guessit-io/guessit

Input filename passthrough for CLI tool

Passing the input filename through to the output allows consumers of the guessit command output to grab the filename directly in the same way as other properties. This is especially helpful when processing multiple filenames and iterating over the results.

Example:

guessit --json *.mkv | jq -r '"\(.raw_input):\(.title):\(.season):\(.episode)"' | while IFS=':' read -r filename show season episode; do
    echo "Processing $filename --> $show - S${season}E${episode}"
    # actually process the file
done

The raw_input key was only added when running the CLI tool since code that uses guessit as a library won't need this functionality.

+8 -1

0 comment

3 changed files

pr created time in 22 days

startedDiaoul/subliminal

started time in 23 days

push eventguessit-io/guessit

Rémi Alvergnat

commit sha 9ceb019c2960b842e91545d4cd14cfaa15ced606

ci(mkdocs): use github-pages-deploy-action to deploy docs

view details

push time in 24 days

delete branch guessit-io/guessit

delete branch : ci

delete time in 24 days

push eventguessit-io/guessit

Rémi Alvergnat

commit sha d8bf7597c5329ab9ca2463acc938e5eeb7fa6ced

ci(mkdocs): use github-pages-deploy-action to deploy docs

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha faa638c888307020db3c37818cf7ffba984eada0

Deploying to gh-pages from @ 22e6309950007aa8151bcdab21a031c50da4873f 🚀

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha e6aabfae5b229c234c72835e74cf223d33122b42

Deploying to gh-pages from @ 22e6309950007aa8151bcdab21a031c50da4873f 🚀

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha a120cd3fb3bc6e164169fabfa96f7d052bfa7692

Deploying to gh-pages from @ c076fae984ad524d64ef8d7257138cff1a86a2b4 🚀

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha 91e041034a95faba8f574636312678497d3d6123

Deploying to gh-pages from @ c076fae984ad524d64ef8d7257138cff1a86a2b4 🚀

view details

push time in 24 days

push eventguessit-io/guessit

Rémi Alvergnat

commit sha 22e6309950007aa8151bcdab21a031c50da4873f

ci(mkdocs): use github-pages-deploy-action to deploy docs

view details

push time in 24 days

push eventguessit-io/guessit

Rémi Alvergnat

commit sha c076fae984ad524d64ef8d7257138cff1a86a2b4

ci(mkdocs): use github-pages-deploy-action to deploy docs

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha badbc01b636a2304d5b63219dc94cdcd170f6726

Deploying to gh-pages from @ d87e0f42a96e196ff8e251c583420ec6b2ae5918 🚀

view details

push time in 24 days

push eventguessit-io/guessit

Toilal

commit sha 571f6b819d2c24290a62e97949c339af7fe25611

Deploying to gh-pages from @ d87e0f42a96e196ff8e251c583420ec6b2ae5918 🚀

view details

push time in 24 days

more