Code Monkey home page Code Monkey logo

macytdl's Introduction

MacYTDL

MacYTDL is a utility which downloads videos using the youtube-dl and YT-DLP video downloader scripts. youtube-dl and YT-DLP are able to download videos from a great many web sites. MacYTDL runs on any Apple Mac with macOS 10.10 or later. MacYTDL has been developed mostly in AppleScript. The code is not accessable from within the applet. However, text exports of the code are in the "Code" folder above and can be opened in Script Editor. MacYTDL is code signed and notarized.

Download from here.

Main dailog

Features

  • Download individual videos and playlists.
  • Download multiple videos in separate processes, in one process (sequentially) or in one process (parallel).
  • Works with all sites supported by YT-DLP.
  • Can switch between youtube-dl and YT-DLP on Macs running macOS from 10.15 to 12.2.1.
  • Can cancel individual downloads.
  • Can pause/resume downloads.
  • By default, will resume interrupted downloads if passed the URL.
  • Can pass through any custom settings to youtube-dl and YT-DLP.
  • Settings for level of YT-DLP feedback, download folder, file format, remuxing format, download speed, proxy URL, Quicktime compatibility, custom file name template etc.
  • Batch downloads.
  • PDF help file which describes how to use all MacYDL features.
  • Download a text description of the video.
  • Option to choose from available download formats.
  • Switch between stable and nightly builds of YT-DLP.
  • Localisation – currently Spanish, Italian, French and German are available (switching languages is supported in macOS 10.15 and later).
    • Localisation is not yet up-to-date.
  • Download and embed subtitles in chosen format and language including auto-generated captions from YouTube.
  • Download and optionally embed thumbnail images and metadata.
  • Download or extract audio-only files in chosen format.
  • Optional macOS Service which gets the current text selection, clipboard contents or active web browser URL, switches to MacYTDL and pastes URL of video to be downloaded.
  • The Service can be set to automatically download from the URL of the current web page without showing the Main dialog.
  • Settings can be saved, restored and rest to default.
  • All components downloaded and/or installed by MacYTDL, which can be controlled by the user. Component updates available in the app.
  • Issues notification (via Alerter) when download finished with option to play the video.
  • A separate log file is retained for each download enabling problem solving if a download fails.
  • Has a built-in uninstaller which moves all components to Trash.
  • Includes a range of simple utilities.
  • Uses arm64 or x86_64 code according to user's Mac.

Requirements

An Apple Mac running macOS 10.10 Yosemite and higher is required to use MacYTDL. MacYTDL works in Parallels virtual machines.

YT-DLP is the default for all Macs. Python 3.8 is built into the YT-DLP executable. However, Homebrew and MacPorts installs can be used. Detail is in the Help.

youtube-dl can be used with all versions of macOS up to Monterey 12.2.1.

How to install for the first time

  • Download and open the DMG file.
  • Browse the Help file.
  • Click and drag MacYTDL to any location - it's best to use the Applications folder.
  • Open MacYTDL.
  • Click on "Yes" to install various components and create a preferences folder when asked.
  • Provide administrator credentials when asked.
  • Wait.
  • MacYTDL main dialog is displayed.

How to update

  • Download and open the DMG file.
  • Click and drag MacYTDL to your usual location – make sure to replace the old version.
  • Open MacYTDL. Components such as the preferences file are updated as required.

More detail is available in the Help file (4.9MB).

Bugs, problems, questions

To report bugs, problems etc., get a Github account, click on the "Issues" tab above and open a new issue. Alternatively, open an item in "Discussions" above or send an email to [email protected].

Acknowledgements

MacYTDL would be useless without youtube-dl and YT-DLP. They are remarkable, feature rich tools maintained by the most dedicated group of volunteers. It should be noted that youtube-dl has not been updated since December 2021. YT-DLP, however, is in active development.

Much is owed to Shane Stanley, for his many contributions solving problems with MacYTDL. Shane developed Dialog Toolkit Plus which provides the dialogs in MacYTDL. Ideas for this GUI front-end came from many sources including:

  • Adam Albrec, author of PPC Media Centre.
  • Michael Page (http://techion.com.au), author of the Video Hoarder automator script.
  • “kopurando” (https://github.com/kopurando), author of the Virga downloader.
  • “Tombs” (https://forum.videohelp.com/members/235982-Tombs) an active contributor to Whirlpool and author of the URLDown Dropper utility for Windows.
  • “xplorr” (https://forum.videohelp.com/members/268051-xplorr), author of TVDownloader.
  • Anonymous (https://cresstone.com/apps/youtubeDLFrontEnd/), author of youtubeDLFrontEnd.
  • Frank, Geoff, John, Santo, Trevor and Walter, fellow members of the ACT Apple Users Group.
  • MacYTDL users 1alessandro1, 11lucasarr11, Adam, adenosslept, AirMarty, Alex, alphabitnz, Andy, andyrb412, Anjum, artcore-c, barney1903, Başar, BigJoe309, bovirus, Brandon, CdrSpock, CharlesLai0307, Chris, Dantha, darbid, defcon5at, Didier EuronymousDeadOhlin, EricTheDerek, frissonlabs, GrantGochnauer, gustavosaez, Hamza, heviiguy, hunterbr3193, Infinivibex , ItsMorePaul, Jack, JAKHIGDON, janvdvelde, jeremydouglass, kuglee, L-Kiewa, kuglee, Labhansh-Sharma, leon-chen-wen-jia, macmeister1967, LeonardoMaracino, macmeister1967, MalEbenSo, martinsstuff, meiwechner, michel-GH, Mike, mmaslar, mmicha, MrJmpl3, Nellio, nottooloud, onaforeignshore, pedrocadiz13, Peter, QAQDE, Rick, Raymond-Adams, roest01, Ruben, SwineBurglar, tabascoman77, Ted, Tenz14, thejasonparker, tht7, tigrr, Tobias, Tom, TomasCarlson, upekshapriya, Vinsamlegast78, watto23, williamcorney, Woolfy025, Yehushupat, zxzzz8.

MacYTDL is free

MacYTDL is a retirement project for me and will always be free. Please consider sponsoring the YT-DLP team. Detail on sponsorships is available here: https://github.com/yt-dlp/yt-dlp/blob/master/Collaborators.md#collaborators.

If you use other shareware or open source software consider making a donation to the developers – let them know they are appreciated.

macytdl's People

Contributors

section83 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

macytdl's Issues

Playlist Crash

Hi, I love this GUI and how easy it is to use. When I download a YT playlist with 5 videos, it works perfectly. But when I try with 20+ videos, when I click continue, the button just appears dark (implying I've clicked it and it's crashed) and then I right-click the program in the dock and it says application not responding.

Screen Shot 2021-04-15 at 9 07 44 pm

Screen Shot 2021-04-15 at 9 07 32 pm

Unable to download this show

Hello MACYTDL team.

First, thank you, thank you, thank you!!!
You provided me THE tool I needed.

Living in Europe, I was looking for a way to download shows from 7plus.com.au.
Of course I have to proceed through a VPN (NordVPN), it's slow but effective.

My problem:
I managed to download shows such as Coast Guard Florida (https://7plus.com.au/coast-guard-florida?episode-id=COGF01-001) or Outback Pilots (https://7plus.com.au/outback-pilots?episode-id=OBPI01-001), but I'm unable to download episodes from Air Rescue show (https://7plus.com.au/air-rescue?episode-id=AIRR-001). I have an error window
Capture d’écran 2019-09-20 à 11 56 01

What am I doing that is not good?
Using MacYTDL version 1.10.1, on a 10.12.6 OS (iMac 27", mid 2011).

Unable to update / install 1.19.1

Mac OS: 10.15.7

I'm currently running with v 1.18. When attempting to update as the app recommends, I'm greeted by:

"curl: (3) URL using bad/illegal format or missing URL"

The same thing happens after manually installing 1.19.1 from git hub

[Update youtube-dl source]

MacYTDL would be useless without youtube-dl. It is a remarkable, feature rich utility maintained by the most dedicated group of volunteers.

Since the main repository has been taken down, I suggest to make the necessary changes to adapt the app

Save position of main dialog

Save position of main window when repositioned by user within and between sessions. Requested by user "Ted".

So, if user repositions the main window the new position is saved and used when the window is opened again in the same session or a future session.

  • Save position in preferences file.
  • Create new settings in prefs file.
  • Default values taken from user’s screen bounds as at present.
  • Add code to update settings file etc.
  • Add new setting to set_preferences handler.
  • Add new setting to read_settings handler.
  • On opening window, set position to read_settings values.
  • On closing Window, get value of finalPosition.
  • If different to saved parameters, save the new values in prefs file.
  • Make recommended changes to the Dialog Toolkit script library.
  • Need to rename and install the changed DTP script library.

Pagination of episode list

Just came across this tool and love it - thanks for putting it together! I tried to get an episode from a show with >100 episodes and wasn't able to move forward. See attached screenshot, or try https://www.sbs.com.au/ondemand/program/mastermind.

Screen Shot 2021-02-25 at 9 59 01 AM

It would be great if MacYTDL also allowed the use of a proxy. Is that in the pipeline?

Send-URL-To-MacYTDL.workflow isn't compatible with Google Chrome

Hi, very good work was yours on this app glad to be able to use it today.

I would like to sugest an improvement, adicionar this condition to the Send-URL-To-MacYTDL.workflow so that Google Chrome browser users can also use the service functionality :

"if app_name is "Chrome" then
tell application "Google Chrome"
set video_URL to get URL of active tab of first window
end tell"

[Feature Req] option to minimize the app window and the downloading window....

using v1.17, high-sierra 10.13.6 .
idk if its even a bug, but i have no way to minimise any of the windows of the app, i used the 'hide' option on the dock, but that works only for the app main window, for the little download window if i click on the 'log' option it closes it, but then no way to reopen it.... and that download window keep reseting to the same position as well if i leave it, i even tried to move it to another space in the mission control, but the main window dissapear when i enter mission-control, and the download window reset b to the original space, to begin w i have mac-mini w a normal mouse so i don't have a way to do swipe set up and therefor never really use spaces.... i just want the ability to minimize it w the usual yellow botton in the corner.... XD

MacYTDL should be notarised

With the forthcoming release of macOS 10.15, it will be more important for distributed macOS apps and applets to be notarized. That includes MacYTDL.

List of issues waiting on youtube-dl changes

  1. Keep in touch with YTDL commits for iView.
    A pull request has been lodged for changes to the iView extractor. No change as at 22/8/19.
  2. Overwrite file warning should have a “Continue” option.
    NB: This is subject to a possible change to youtube-dl. No change as at 22/8/19.
    Example on 5/1/19 when there was a video named “video-being-downloaded.mp4.part”. MacYTDL popped the “Do you want to overwrite” box which only has options to overwrite, new-name or cancel. Need to make the “continue” alternative visible.
    Current behaviour:
    “Over-write existing” set to “Yes” doesn’t. ytdl by default doesn’t download again if it has already been downloaded. For example:
    “Chrysler_Wake_Run_-Classic_Restos-_Series_38.mkv has already been downloaded and merged”
    “--no-continue” makes no difference – ytdl still does NOT overwrite.
    ytdl doesn’t distinguish between partial and completed downloads.
    Code first gets prefs setting: “Over-writes Allowed” – Yes or No.
    If setting is false “--no-overwrites” is added to youtube-dl command.
    Means “Do not overwrite files”.
    “Overwrite” option works – it deletes.
    Could just add a “Continue” option which would put “--continue” into youtube-dl command.
    Means replacing "Display Dialog" with a DTP dialog.

List of proposed improvements to Monitor

  1. Consider adding file count when user has downloaded a playlist or multiple downloads.
  2. Use ASOC code to make the dialog non-modal – thus, will then not hide the front-most application.
  3. Consider combining with the currently separate Adviser script.

Error running app in Ventura

Hello. I installed the app on my Macbook pro with ventura. Im not sure if this is a new error or, I forgot to install something prior. It's just the 1 error after the 'Note: Some components will be downloaded which might take a while and you will need to provide administrator credentials.' part.

SCR-20221101-12f

Possible YT-DLP Support?

Love this tool!

Seeing as yt-dlp seems to be more maintained than the original youtube-dl repo (which hasn't been updated in quite some time), would it be possible to also add support for yt-dlp's unique features? As of now, I'm using the app with yt-dlp replacing youtube-dl's commands

[Bug report] env: python3 no such file or directory

Good evening,

I've installed:

  • MacYTDL 1.19.4 and
  • python3.9.9 pkg and
  • The latest yt-dlp to date in /usr/local/bin
  • alongside ffmpeg and ffprobe.

I've also read in the documentation that to use MacYTDL with yt-dlp in macOS 10.14.6 (18G9323) I have to provide the following .dylib:

  • libcrypto.44.dylib
  • libssl.46.dylib

Which were taken from a new macOS Catalina installation (build 19H1615 from 13-12-2021)

This is the current situation in /usr/local

immagine

However, when I make the switch to yt-dlp:

immagine

even though I've pre-tested it from the command line:

immagine

I get the following error:

immagine

I think this problem is related to the fact that the python3.9.9 .pkg can't modify the $PATH for MacYTDL. I've tried to click on Modify and add it myself though:

Previously:
immagine

After my modification:

immagine

But by doing so, the problem persists even after sudo codesign --force --deep --sign - MacYTDL.app/ (since I edited the applescript)

Let me know what I can do to debug this issue on 10.14.

FYI, MacYTDL works perfectly with just youtube-dl since it only uses the default python2.7 bundled in macOS.

MacYTDL Batch Functions: "The command exited with a non-zero status. (1)"

I'm using MacYTDL 1.21, 27 March 2022, newly installed on MacOS 12.2.1 (M1 Pro).

Problem: batch functions "Download" button causes MacYTDL to crash with the error "The command exited with a non-zero status. (1)"

Steps to reproduce:

  1. Open MacYTDL
  2. Check "Add to Batch"
  3. Input a URL and click Continue
  4. Check "Open Batch functions"
  5. (Optionally, confirm with Edit that batch file contains a valid url, #, and valid target file name with no special characters, and a single line final line break)
  6. Click "Download"

MacYTDL crashes with the error "The command exited with a non-zero status. (1)"

I've tried different URLs and different settings, but nothing seems to avoid the crash. One-at-a-time downloading outside batch mode is working just fine.

Note: Running the Batch functions "Download" when the list is completely empty causes a different crash -- "A resource wasn’t found. (-192)" -- and crashing there is also not desirable, but it isn't unexpected that you can't run a batch on nothing.

[Bug] can't download using the batch method in the new versions....

i just recently updated to version 1.19.1 [from.. v1.18b2 if im not mistaking....? maybe a version or 2 before that?]
and now i can't download the stuff i usually download from twitch using the batch function, as it gives me the error in the image i attached,
it seems to work fine tho if i try to download them individually not using the batch tool....

Screen Shot 2021-11-27 at 13;45;27

Multilanguage GUI

@section83

Could be possible in future version have an external language file that enable translating in otehr languages?

Thanks.

[Feature Req'] Timestaps in the logs

when i download a batch, it sometimes can take more then a day, in which case i many times have disconnects,
while these disconnects break the files, once they do, in the log file of the batch,
there is no indication when that happened, nor when the internet went back up and it started the next file....
this results in a situation were i have no idea when anything happened,
as the ''how long the download took'' depends on knowing when it started, which after a disconnect, its completely unknown.

knowing when things happened might be almost the most important job of a log for me,
this is why this bugged me for quite a while, and i find it as the most important feature request i currently have that is not implemented yet....
tbh id obviously prefer that every line in the log will have a timestamp, so id be able to easily see if suddenly my unstable internet speed slowed down the download speed, which happens a lot.... and when, if at all, it speeded back up,
with constant timestamps, i can see at what time it completed what % from the file.... enabling me to know the speed and everything that happened....

[Bug] downloading batch w files w same name fail....

just installed version 1.17 and tried to download a few twitch streams in a batch that all have the same name.... and it totally failed, im not sure if it was going to also try and merge them if the first was way shorter then the later ones but you can see in the attacked log:

youtube-dl_response-Batch_download_on-2021-05-04_Tuesday_[19_124]_at_17;49;07.txt

there are way way more files w the same name that i plan to download, so its a big issue for me, that completely disable the batch feature....
i think just enabling the user to have a name template that uses the https://github.com/ytdl-org/youtube-dl#output-template output-template options would be the best solution as suggested in #9 in number 7=''Enable custom file name formats to be set by the user ?'' if im not mistaking, wouldn't it?

that would also solve another very big issue i personally have, which is that i have no way of getting atm the timestamp of publication of the vod,
and also in general i always put very complex costume file names to everything i use, so i generally find that feature really important to me in general in any software....

Instructions for reporting bugs or asking questions

Please raise new issues, bugs, problems and questions here. If you do not have or can't open a Github account, please send a message to: [email protected].

If your question concerns downloading a particular video or from a particular site, review the youtube-dl_response file which is saved in your MacYTDL preferences folder (can be accessed in MacYTDL). If that is no help, please check through issues raised on youtube-dl.

[Bug?] thumbnail embeding option missing?

i don't think its that important of an issue at all i guess? but when it show the options before the download, it have beside the getting the thumbnail, another option of embedding it, but i didn't see any such option in the actual settings page.... mby im just blind? but i looked multiple times very carefully on every option there....

i also noticed there is that option set on negative in the MacYTDL.plist file, but mby its just expirimental option or something? so i didn't touch that.... i just thought that the inconsistency between the settings page n settings preview before download might not have been intentional, but if it is then sorry for the bother....

Error in reading response file:

macOS 12.1 Monterey
M1 processor
MacYTDL, version 1.19.1, set to install and use YTDLP

Capture d’écran 2021-12-17 à 09 57 23

A few seconds after clicking the “Continue” button, the following error message pops up, warning of an “eof” error:

Capture d’écran 2021-12-17 à 09 58 12

Clicking “OK” lets the download continue silently (no progress window is displayed) and complete successfully.

Not clicking “OK” leads after a few seconds to a download error notification, and a “.part” download file in the MacYTDL download folder.

List of proposed improvements to playlists

  1. Fine tune YouTube playlists.
    • youtube-dl automatically downloads all videos in a YouTube playlist.
    • Option to force DL of current file instead of playlist.
    • Option to force DL of whole playlist.
      • Or, be offered a choice of tracks/videos to DL – would enable user to choose rather than getting just one or all.
    • Could:
      Add the “%(playlist)s.” parameter to the output template.
      Parse the “simulate.txt” file to look for a playlist name.
      If “NA” then go as normal.
      If not “NA” get the playlist name and consider what to do given user’s settings: “--yes-playlist”, “--no-playlist” or default.
    • What’s the difference between “playlist” and “playlist_title” ?
      • Former can provide the playlist id. Need to test which is better.
    • Limit number of files with “--playlist-end NUMBER” ?
    • Option for user to request files be stored in separate folder ?
    • If “--yes-playlist” or “default”, make a separate folder for all files using the output template: %(playlist)s/.
    • If “--no-playlist”, add that to options to ensure just the one file is downloaded.
    • Enable Monitor script to find the playlist name and delete all files which have that if requested by user.
  2. Adding series/playlist options – more thoughts
    • Need a way to know that the URL provided is a playlist ?
      • No need with Youtube.
    • The “--get-filename” simulation step can indicate a playlist and give the name.
    • Would need to restrict the “playlist” functioning to Youtube.com. Playlists do not work on SBS, 7Plus, 9Now, 10Play, iView and many other sites.
    • “--yes-playlist” only needed to force a playlist download.
      • But, could be useful if URL is such that youtube-dl only downloads the first video.
    • “--no-playlist” useful when MacYTDL can’t tell difference between playlist and individual video. Example URL: https://youtu.be/X0WOa_vDUFA?list=PLF76BA379BC905431
    • What do we want/like in the playlist functionality ?
      • Options: Always download just first video in playlist (--no-playlist) or always download entire playlist (--yes-playlist).
        • Not critical as only applies when URL refers to both a video and a playlist.
    • Then would have to search ytdl response for: “Downloading playlist:”.
    • File names are in ytdl response lines that do NOT start with [debug].
      • If there are more than one file name => is a playlist but better if we can get “[playlist] into simulation results.
    • Would it be useful to pop a message if user has provided a playlist URL asking if they want to download all the videos or just the first ?
      • Would be a pain for user to have to always push yet another “OK” button.
  3. 10Play “Show” pages.
    • Show page URLs are unsupported and so don’t automatically download anything.
  4. 9Now “Show” pages.
    • Show page URLs are unsupported and so don’t automatically download anything.
    • curl works and result contains URLs – but URLs are repeated 6 times – will need to look for delimiters eg. this is unique: displayName":"Ep 14 Copper Showstopper
  5. 7Plus “Show” pages.
    • Show page URLs are unsupported and so don’t automatically download anything.
    • Most shows are DRM protected so, 7Plus is a low priority.

Python - macOS 12.3 (Monterey)

It appears Apple have removed Python 2 from macOS with the recent release of 12.3.

Have found MacYTDL won't open, throwing an error "env: python: No such file or directory". I've spent the weekend trying a few tricks in an attempt to fix it but have gone nowhere. I can't find anything to show where the script is calling a Python from a specific path, which I think is where the problem is.

I did at first think it may be a youtube-dl issue, however I've been able to download videos normally using it directly via command line, so whatever the issue, it's MacYTDL.

MacYTDL crashes when updating youtube-dl

When trying to update youtube-dl, MacYTDL displays a strange dialog about an update:

Screen Shot 2021-10-25 at 10 08 50 am

After entering admin credentials, MacYTDL crashes and displays an error:

Screen Shot 2021-10-25 at 10 09 11 am

This is a known bug related to changes in the layout of GitHub releases pages. This bug will be fixed in version v1.19 of MacYTDL due soon.

List of proposed changes to MacYTDL - as at 9/4/23

This is a list of features that might be added in the future. It is not in priority order. If you would like one of these or any other feature added to MacYTDL, please post an issue or discussion, or send an email (address is in the "About" dialog.

  1. Look at whether “--merge-output-format” is a useful option to add.
    • Only if merging video and audio files.
  2. Add settings for Adobe Pass credentials, video password and .netrc credentials.
  3. Redesign Help as a Wiki published on GitHub.
  4. Add settings for “--autonumber-start” and “--output-na-placeholder”.
  5. Redesign save/restore settings.
  6. Consider whether/how to initiate parallel downloads when user pastes multiple URLs.
    • Currently downloads serially by one YTDL request. Could go parallel – could be a setting.
  7. Enable user to save one or more set of login credentials – could use KeyChain.
  8. Provide UI for config file functionality – could have more than one switchable config.
  9. Provide a macOS "Shortcut" to replace/supplement the current "Send-URL-to_MacYTDL" Service.
  10. Option on installation to add shortcut to Dock.
    • Involves killing the Dock process (which usually restarts) so that change to a plist file is implemented.
  11. Organising downloads by uploader/downloader
    • Is this of any benefit ?
  12. Facility to get cookies from current browser.
  13. Add option to control downloads according to date ?
  14. Option to schedule downloads for a later time ?
  15. Add "Archives" functionality.
  16. Facility to search log files.
  17. Enable the Monitor dialog to be hidden/minimised and non-modal – very difficult using AppleScript.
  18. Enable user to position the Monitor dialog – tricky as each dialog is a separate process.
    • Might be possible to keep separate download processes but one dialog.
  19. Option to turn off notifications when downloads started/finished.
  20. Add option to choose playlist items for download – currently always downloads entire list.
  21. Add option to choose downloads from batch file – currently always downloads entire batch.
  22. Only remove items from batch list which have been successfully downloaded.
  23. Enable download of duplicates – perhaps with an index to differentiate files.
  24. Add option to store YTDL settings with each URL in a batch – would enable different settings for each download.
    • Could have one set of settings for each batch list.
  25. Facility to create more than one batch list and choose which to download.
  26. Add facility to recode codecs inside a container.
  27. Provide a file count for playlists, batches and multiple downloads with progress e.g. "2 of 6 files completed".
  28. Option to add shortcut to Dock.
  29. Add an abort on error setting – on/off.
  30. Add support for Homebrew and other installations of FFmpeg and YT-DLP/YTDL.

Error on initial run

I'm getting an error on first run (and every time I reopen the app:)
Can’t get text 18 thru 29 of "". (-1728)

I'm using Public Beta 3 MacOS 12

Variable „theFFmpegInstallNotifyLabel“ not defined. (-2753)

Hi,
I am trying to run MacYTDL for the first time. I am now running into an error message (German language, as it is a German system):

Die Variable „theFFmpegInstallNotifyLabel“ ist nicht definiert. (-2753)

This is with the latest version of MacYTDL.
ytdl is installed via homebrew.
macOS is Mojave 10.14.6

During installation I have declined all Macfeatures that can be enabled later on.

Unable to change Default Download Directory in Settings

OS: macOS Monterey 12.4 Beta (21F5048e)
Version: MacYTDL 1.21, 27 March 2022

Experience:

Folder Dropdown in Settings does not register selection of any parent folder
Selecting 'Choose' and browsing to a new folder causes the below error on 'Save Settings',
followed by application crash (all changes aside from download folder seem to get applied):

Can’t set «class plif» "System:Users:myusername:Library:Services:Send-URL-To-MacYTDL.workflow:Contents:info.plist" of application "System Events" to "Send-URL-To-MacYTDL".

System Events got an error: Can’t set property list file "System:Users:myusername:Library:Services:Send-URL-To-MacYTDL.workflow:Contents:info.plist" to "Send-URL-To-MacYTDL". (-10006)

Installer has still problems with ffmpeg download directory.

Maybe missing rights ? What is the default-directory MacYTDL checks if ffmpeg is installed so the user can install it manually ?

error: cannot open zipfile [ /Users/dkasper/Desktop/ffmpeg-4.2.2.zip ]
Operation not permitted
unzip: cannot find or open /Users/xxxx/Desktop/ffmpeg-4.2.2.zip, /Users/dkasper/Desktop/ffmpeg-4.2.2.zip.zip or /Users/xxxx/Desktop/ffmpeg-4.2.2.zip.ZIP. (9)

MacOS Catalina.

List of proposed improvements to batch downloads

  • Pop error if batch file has any format errors (eg. due to manual editing) or duplicates.
    • youtube-dl probably responds with something.
  • Multiple batch files for user to choose ?
    • Means users can organise according to types (audio, video etc.) and so tailor download options to suit each batch.
      • Would need to store in and retrieve options from batch file.
    • Alternative is to store download options with each URL.
      • That would be quite a lot of work for little benefit.
  • Add URL to batch.
    • Get show name from simulate ?
      • For all shows except playlists and multiple downloads.
      • Means storing with URL which is easy.
      • Means parsing batch file to get show name during download.
      • Not easy for Youtube playlists – simulate currently only records names of items in the list, not the playlist name.
    • Ask user for show name ?
      • Only for playlists and multiple downloads as show name is available for all others including iView.
      • But, also slows down the process if user wants to do a number of URLs.
    • Store options for each URL ?
      • Not part of the youtube-dl canon.
      • But, doable as I can add ‘comments’ after the | character for each URL.
  • Download batch function.
    • Finish review of URL checks that need to be moved to avoid repeating the simulate functions.
    • A dialog so user can choose videos to download (like the ABC Show dialog).
    • Add code needed to enable Monitor to delete partly downloaded batch files.
    • Look properly at current options settings.
      • What if they are consistent only for some of files in batch ?
  • Pop error if any videos didn’t download ?
    • Already in Adviser.scpt but, doesn’t locate cases where less than all videos in batch failed.
  • Automatically add to batch if the function is on and user invokes Service.
    • Would be good with Service as it could be made immediate – user will not need to press “Download”.
    • But, also need to test URL with simulate.
    • So, should all the simulate code go into a handler which can be called at different points ?
      • Not at present – leave this idea for another day.

List of known bugs – in version 1.26.1 – as at 15/2/24

Apologies for all the bugs and misbehaviour in MacYTDL. I am working on them as fast as I can. I find that adding features is quicker and easier than fixing bugs.

  1. Crash when "Automatic download" is used with "Get formats list" turned on – especially on macOS 12 and 14. In testing, no crashes in macOS 13. Odd.
  2. SBS episode chooser only shows episodes from the season showing in the page (usually but not always season 1). Affects shows for which multiple seasons are available. Current chooser dialog wrongly assumes this is always season 1. There might not be a way to fix this.
  3. "Permission denied" errors in the Monitor when download folder is on a NAS.
  4. Using a new file name when a single download file exists renames every download in a playlist and multiple downloads.
  5. Columns of episodes in the ABC iView Episode Chooser are too wide on lo-res screens (e.g. 720p).
  6. Batch downloads of duplicate files are handled poorly – second and subsequent files are not saved.
  7. Main dialog can appear in strange locations on dual monitor setups.
  8. Adding metadata doesn't always work.
  9. "Monitor" might show the wrong file extension.
  10. "Stop" function fails to delete partially downloaded files when custom template changes download location.
  11. Calls to FFMpeg fail if two copies of the same file are downloaded at the same time.
  12. Should have some kind of "Working..." message to user when simulating a large multiple download or playlist.
  13. When using youtube-dl, live stream recordings are not recognised and download is deleted instead of renamed.
  14. YT-DLP can bang a warning about ignored subtitles on some ABC iView shows and live streams. This might require a change to YT-DLP.
  15. YT-DLP treats some ABC iView show pages as playlists and proceeds to download all episodes. youtube-dl does not.
  16. Sometimes, the Adviser is not suppressed by the "Stop" download function.
  17. MacYTD copes poorly when the user has installed Python separately.
  18. Particularly large playlists and channels can timeout without starting download.
  19. Crash when trying to get formats list on a live stream.

List of proposed improvements to Service

  1. Make the Service more useful in other apps – e.g. it can be invoked if user selects a URL in an email message, pdf or other kind of text file.
    • Could test whether user has copied a URL (e.g. most web browsers have an option like "Copy Link").
  2. Add option to assign a keyboard shortcut to the Service – probably will not go ahead with this as it's not easy and fraught with conflicts.
  3. Might be possible to use a bookmark in Safari to open MacYTDL and paste the video URL into the text box (replacing the Service).
    • Could use a custom URL scheme.

Unable to install ffmpeg

Attempting to install latest version of MacYTDL, receiving the following error:

error: cannot open zipfile [ /Users/andy/Desktop//ffmpeg-4.2.2.zip ]
Operation not permitted
unzip: cannot find or open /Users/andy/Desktop//ffmpeg-4.2.2.zip, /Users/andy/Desktop//ffmpeg-4.2.2.zip.zip or /Users/andy/Desktop//ffmpeg-4.2.2.zip.ZIP.

Administrator access is granted during the install, but fails immediately afterwards. Doesn't look like any files are being retrieved either.

MacYTDL doesn't download videos in macOS 11.4 on M1 iMacs

A user has reported that MacYTDL doesn't download videos on their M1 iMac. This is likely because running system_profiler to get display specifications returns its result in a different format on M1 iMacs.

Hopefully, I will be able to fix the problem in the next release.

Problem Installing MacYtdl Catalina

Hi,

i tried installing macytdl and got this error when launching it.
Bildschirmfoto 2021-01-27 um 08 44 21

I am trying to uninstall the programm by deleting every part of it manually, but no luck.
Maybe i didnt uninstall it completely?

Something strange i found was, that in the "automation" permission, there is no checkbox for the Finder.
Bildschirmfoto 2021-01-27 um 08 44 33

Maybe a permission issue?

What can i do to manually remove MacYTDL and try it again cleanly?

Greets,
Alex

I receive The variable X_position is not defined

I just downloaded the app and copied it to the applications folder. I receive the following message.

The variable X_position is not defined.
The variable X_position is not defined. (-2753)

MacOS Big Sur Version 11.3

List of other proposed improvements

  1. Look at whether “--merge-output-format” is a useful option to add.
    • Only if merging video and audio files.
  2. Add settings for Adobe Pass credentials, video password and .netrc credentials.
  3. Add settings for “--autonumber-start” and “--output-na-placeholder”.
  4. Redesign Settings dialog – e.g. group settings types.
  5. Consider whether/how to initiate parallel downloads when user pastes multiple URLs.
    • Currently downloads serially by one YTDL request. Could go parallel.
  6. Enable user to save one or more set of login credentials – could use KeyChain.
  7. Enable user to keep original file(s) when downloads are automatically merged (usually by FFmpeg).
  8. Option to add ad-hoc arguments to ytdl command.
    • Or, perhaps, better to use a config file.
  9. Option on installation to add shortcut to Dock.
    • Involves killing the Dock process (which usually restarts) so that change to a plist file is implemented.
  10. Organising downloads by uploader/downloader
    • Is this of any benefit ?
  11. Add facility for user to choose file format(s) for audio and video from range available.
  12. Add option to control downloads according to date ?
  13. Option to schedule downloads for a later time ?
  14. Add YTDL "Archives" functionality.
  15. Enable finer choices on codecs ?
  16. Add option to auto-download when invoking Service.
  17. Redisplay the "Monitor" dialog after user clicks on "Logs" button (rather than closing the dialog).
  18. Enable the Monitor dialog to be hidden/minimised and non-modal – very difficult using AppleScript.
  19. Enable user to position the Monitor dialog – tricky as each dialog is a separate process.
    • Might be possible to keep separate processes but one dialog.
  20. Add file count to Monitor dialog for multiple downloads e.g. playlists.
  21. Add option to choose playlist items for download – currently always download entire list.
  22. Add option to delete URLs from batch file after download.
  23. Add option to choose downloads from batch file – currently always downloads entire batch.
  24. Add option to store YTDL settings with each URL in a batch – would enable different settings for each download.

[BUG]Unpredictable behavior of the main window.

Configuration :
macOS Mojave
Version 10.14.6 (18G103)
iMac (27 pouces, fin 2013)
Proc 3,5 GHz Intel Core i7
Memory 16 Go
Dual Screen (ext screen via Thunderbolt to HDMI)

It seems the main window position change regularly during use, sometimes upper left corner, then in the middle of the screen, after downloading it will appear upper right corner, it can even appear with menu bar outside of the main display screen forcing abnormal manipulation.

Is there anyone could provide a download link of both libcrypto.44.dylib and libssl.46.dylib?

Hi, I am currently using Mojave on my iMac. Due of my profession, I cannot upgrade to catalina. Sadly I could not find any download links on google providing libcrypto.44.dylib and libssl.46.dylib, which is the essential parts for using yt-dlp service in Mojave machine. I do not have a second Mac for me to copy those libraries into my Mojave. Is there any nice guy to provide yours and share it to this project? Many thanks. These two dylib are located in “/usr/local/lib/”

Best

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.