Giter Site home page Giter Site logo

fintube's People

Contributors

aecx avatar vincentroyc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fintube's Issues

Add ability to change filename and/or filename template

Currently every video is downloaded in the format:

{youtube ID}-{youtube title}.{ext}

but it would be nice to be able to customize this a bit. I personally don't care to have the youtube ID in the filename, but it would be nice to see the resolution, like

{youtube title} [{resolution}].{ext}

Additionally, it would be nice to keep the last format as the default.

[Feature Request] Download from Playlist

Looking at the 'Plugin Page' it only shows YouTube Link or ID so I assume this just work with One video at a time.

Would it be possible to support playlists that will auto download./update once a day?

How to set up FinTube under Windows

Hallo Maurice,
ich würde gerne Fintube für Jellyfin Server für Windows nutzen, aber ich bekomme leider nicht hin.

Daher wollte ich dich fragen, ob du Lust und Zeit hast, für ein Step by Step Guide wie man Fintube unter Windows zum laufen bekommt

Aktuell nutze ich Jellyfin 10.9.3 auf Windows 11.
Bei der Installation von Fintube 1.01. wird nur 1.00 installiert
fintube 101
fintube 100

Bei den Einstellungen habe ich den Pfad zu Yt-dlp.exe eingeben:
C:\Fintube\ytube
oder auch
C:\Fintube\ytube\yt-dlp.exe

Anschließend den Server neugestartet und versucht übner den Tab ein Video herunterzuladen. Es scheitert aber schon daran, dass ich kein Ordner bei "Target libery" auswählen kann.

Ich mag die Idee des Pluigin sehr und würde es gerne nutzen wohlen. Ich hoffe du kannst mir weiterhelfen.

The AuthorizationPolicy named: 'DefaultAuthorization' was not found.

Using Jellyfin version 10.9.2.
Cannot select target library.
Clicking submit does nothing.
There is error message in log:

[2024-05-23 09:40:06.011 +00:00] [ERR] Error processing request. URL "GET" "/fintube/libraries".
System.InvalidOperationException: The AuthorizationPolicy named: 'DefaultAuthorization' was not found.
   at Microsoft.AspNetCore.Authorization.AuthorizationPolicy.CombineAsync(IAuthorizationPolicyProvider policyProvider, IEnumerable`1 authorizeData, IEnumerable`1 policies)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

how to compile this?

Can you include the .sln, .csproj and everything else needed to compile this? i want to make my own modification of this plugin but i cant get it to compile a dll properly. thanks

Plugin reports that command was succesful even on error

Hello,

thank you for this awesome plugin - exactly what I need to archive some YouTube videos into my media collection!

I have observed that the plugin does not seem to handle errors (i.e. exit code != 0) from youtube-dl / yt-dlp.
As far as I can tell, whatever the exit code of the tool, the plugin always happily reports "File saved".
For example, I tried to download a video but the Jellyfin user is not allowed to write into the media collection.

The plugin reported:

Filename: /storage/YouTube/7-MYHOpzT5A
Exec: /usr/bin/yt-dlp -f mp4 -S res:1080 -o "/storage/YouTube/7-MYHOpzT5A-%(title)s.%(ext)s" 7-MYHOpzT5A
File Saved!

Screenshot 2024-04-23 at 21-54-08 Jellyfin

But my library was still empty - only the Jellyfin logs revealed the issue:

[19:55:57] [INF] [67] Jellyfin.Plugin.FinTube.Api.FinTubeActivityController: FinTubeActivityController Loaded
[19:55:57] [INF] [67] Jellyfin.Plugin.FinTube.Api.FinTubeActivityController: FinTubeDLibraries count: 4
[19:56:13] [INF] [67] Jellyfin.Plugin.FinTube.Api.FinTubeActivityController: FinTubeActivityController Loaded
[19:56:13] [INF] [67] Jellyfin.Plugin.FinTube.Api.FinTubeActivityController: FinTubeDownload : 7-MYHOpzT5A to , prefer free format: True audio only: False
[youtube] Extracting URL: 7-MYHOpzT5A
[youtube] 7-MYHOpzT5A: Downloading webpage
[youtube] 7-MYHOpzT5A: Downloading ios player API JSON
[youtube] 7-MYHOpzT5A: Downloading android player API JSON
[youtube] 7-MYHOpzT5A: Downloading player d8a5aa5e
WARNING: Writing cache to '/root/.cache/yt-dlp/youtube-nsig/d8a5aa5e.json' failed: Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/cache.py", line 41, in store
    os.makedirs(os.path.dirname(fn), exist_ok=True)
  File "/usr/lib/python3.10/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/lib/python3.10/os.py", line 215, in makedirs
    makedirs(head, exist_ok=exist_ok)
  File "/usr/lib/python3.10/os.py", line 225, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/root/.cache'

[youtube] 7-MYHOpzT5A: Downloading m3u8 information
[info] 7-MYHOpzT5A: Downloading 1 format(s): 22
[download] Unable to open file: [Errno 13] Permission denied: '/storage/YouTube/7-MYHOpzT5A-How To Change Your Cassette | Road Bike Maintenance.mp4.part'. Retrying (1/3)...
[download] Unable to open file: [Errno 13] Permission denied: '/storage/YouTube/7-MYHOpzT5A-How To Change Your Cassette | Road Bike Maintenance.mp4.part'. Retrying (2/3)...
[download] Unable to open file: [Errno 13] Permission denied: '/storage/YouTube/7-MYHOpzT5A-How To Change Your Cassette | Road Bike Maintenance.mp4.part'. Retrying (3/3)...
ERROR: unable to open for writing: [Errno 13] Permission denied: '/storage/YouTube/7-MYHOpzT5A-How To Change Your Cassette | Road Bike Maintenance.mp4.part'

Maybe the error handling can be improved :-)

Cannot Select Target Library

I have set up and configured FinTube as instructed in the README (excluding id3v2). However, I am unable to download videos because I cannot select the target library. When I click the drop down, it appears, but is empty and does not list any of my libraries (seen in screenshot). I also cannot select the Submit button, but I assume that issue is caused by this one.

Screenshot_2024-06-30_21-15-55-fintube

I don't really have any idea where to start with this issue, so apologies if there is some bit of important information I have left out.

Getting 360P downloads

How do i improve the quality of the downloads. I keep getting 360P

Where do i set YT-DLP to grab the highest quality available?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.