70 Commits

Author SHA1 Message Date
Puyodead1
1b1b5d81bd
fix large courses 2024-03-17 14:11:30 -04:00
Puyodead1
ef9d2a6be3
some refactoring 2024-03-17 14:11:17 -04:00
Puyodead1
72473188df
stop aking about keys 2024-03-06 17:31:30 -05:00
Puyodead1
375be73e0a
add python to readme requirements 2023-10-27 13:23:17 -04:00
Puyodead1
79ea132962
add 'continuous numbering' option 2023-10-27 09:35:55 -04:00
Puyodead1
3a13ba5a54
add note about yt-dlp ffmpeg builds 2023-08-16 09:57:11 -04:00
Puyodead1
e5450b6f85
Cookie extraction
- Removed cloudscraper
- Added cookie extraction from browser
2023-08-12 23:53:16 -04:00
Puyodead1
a76f14190a
Update README.md 2023-06-17 16:16:54 -04:00
Puyodead1
f829d0fbce
h265: bug fixes and nvenc 2023-03-06 17:46:34 -05:00
Puyodead1
cb906d5eaf
add h265 support 2023-03-06 17:16:00 -05:00
Puyodead1
18a9c364af
Update README.md 2022-12-15 14:01:05 -05:00
Puyodead1
1da41a9bde
update Discord invite 2022-08-24 13:58:30 -04:00
Puyodead1
e5398a1333
update shaka-packager link 2022-05-14 11:35:50 -04:00
Puyodead1
c22fbfccaa
Update README.md 2022-02-12 18:59:37 -05:00
Puyodead1
d8b711af89
Update README.md 2022-02-12 18:55:02 -05:00
Puyodead1
13bc68e905 Switch to Shaka-Packager + bug fixes
+ Replaced mp4decrypt with shaka-packager
+ Fix logger not correctly setting level from arguments
+ switched all os.system to subprocess.Popen
+ extra verbosity, external commands will now print their output to make debugging much MUCH easier
+ Fixed a problem with shaka-packager failing on files with a comma
2022-01-16 14:30:49 -05:00
Puyodead1
3176ac1191 feat: id as course name as an argument + readme update
+ adds the feature from the `id-as-course-name` branch to use the course id as the output directory name instead of the course name. this is useful to reduce the path length
+ Updated readme to reflect recent code changes
2021-12-28 11:14:35 -05:00
Puyodead1
ca34f90996
Update README.md 2021-12-05 17:49:58 -05:00
Puyodead1
51df2758b8
Update README.md 2021-12-05 17:48:14 -05:00
Puyodead1
b98f35cec6
add warning about account suspensions 2021-11-26 22:38:40 -05:00
Puyodead1
59538b24ce
fix typo in readme 2021-11-21 00:52:32 -05:00
Puyodead1
95b30841dc Add --disable-ipv6 option
+ Added option to disable ipv6 in aria2
+ Updated README to reflect argument changes
2021-11-19 16:17:01 -05:00
Puyodead1
97ca2cf401 updates to README and some minor code changes
+ Use proper exit code of 1 on errors
+ Added error handling for subscription based course info extraction failure
+ Slightly more verbose login failure message
+ Updates to README to improve clarification among other things
2021-11-11 23:14:51 -05:00
Puyodead1
eb3257f374 update to allow downloading if using udemy subscription
+ New requirements: `beautifulsoup4` and `lxml`
+ Added support for downloading courses included in subscription plans
+ Updated README to reflect changes
2021-11-09 20:41:25 -05:00
Puyodead1
ecc46deb6b
Update README.md 2021-11-05 10:31:25 -04:00
Puyodead1
a2748d98a4 Revert "Merge branch 'feat-mkv'"
This reverts commit e835ab6eb1819c72dc23bb4bbe16d1238405975e, reversing
changes made to 034fcc6b50a3d4a4c8f7506ea9bac58579f55a9a.
2021-08-10 00:01:07 -04:00
Puyodead1
e835ab6eb1 Merge branch 'feat-mkv' 2021-08-08 14:21:56 -04:00
Puyodead1
5b592923dc
Update README.md
Add a note about needing decryption keys
2021-08-04 15:10:45 -04:00
Puyodead1
c8945b8091 Update README
+ added note about bearer token from env being deprecated
+ updated example commands to reflect code changes
2021-08-02 20:53:07 -04:00
Puyodead1
845c0bde58 restructure method parameters
+ made all variables global so we don't have to keep passing them to methods
+ renamed ``concurrent_downloads`` to ``concurrent_connections``
+ added ``use_mkv`` option
+ fixed bug where keyfile was required to just use help command
+ updated ``README.md`` to reflect code changes
2021-08-02 20:45:48 -04:00
Puyodead1
96578c2327
document yt-dlp dependency 2021-07-15 08:31:13 -07:00
Puyodead1
a596571694
fix a typo 2021-06-17 17:21:17 -04:00
Puyodead1
2afef1cb41 Feat: Switch to yt-dlp for downloading HLS streams so we can use Aria2c
+ HLS streams are now downloaded with yt-dlp
- Removed FFMPEG download class
+ Added a new argument ``-cd``,``--concurrent-downloads`` to specify the max number of segments downloading at a time (default is 10)
+ Updated README to reflect code changes
2021-05-30 17:32:22 -04:00
Puyodead1
7a77a528aa Update README.md 2021-05-28 23:20:56 -04:00
Puyodead1
6a850d52f2 Update README and .env.sample
+ Add aria2c requirement
+ Change bearer token instructions to link to udemy-dl guides
+ Updated .env.sample to reflect code changes
2021-05-28 23:17:47 -04:00
Puyodead1
5b548c737b Update README.md 2021-05-28 23:11:23 -04:00
Puyodead1
9f3bda6c6c Revert "Merge branch 'master' into feat_aria2c"
This reverts commit e6dcde0335e8fdd7278dc72e9233034a5efc2748, reversing
changes made to 1ad4f1eddee0e34d028e3e74bf331a92a8388a36.
2021-05-28 23:05:54 -04:00
Puyodead1
e6dcde0335 Merge branch 'master' into feat_aria2c 2021-05-28 23:04:56 -04:00
Puyodead1
1ad4f1edde Feat: Info argument
+ Added info argument to print course information
+ Updated spacing of some text to be more 'tree' like and easier to read
2021-05-28 16:59:52 -04:00
Puyodead1
5ffef4736e HLS parsing for 1080p+ quality
+ Added a new command argument ``--skip-hls`` to skip parsing hls playlists
+ Updated README to reflect code changes
2021-05-27 17:38:29 -04:00
Puyodead1
b667420dc2 Removed unused method, update description for quality argument 2021-05-26 23:28:49 -04:00
Puyodead1
2667629c93 Big Changes
- Removed the old ``dashdownloader_multisegment.py`` file
- Removed the ``downloader.py`` file
+ Added missing requirement to ``requirements.txt``
+ Added sanitization class
+ Updated ``vtt_to_srt.py`` to use path.join for better cross-platform support
+ Updated README to reflect code changes
- Removed the quality restriction since there are some wacky non-standard qualities and I can't possibly predict and list them all :P
+ Changed the way fallback qualities are selected so it selects the closest quality to the requested one (ex. you want 576 but the closest are 480 and 720, 576 will be selected since its the closer to 576)
+ Switched to sessions
+ Program no longer quits if decryption key isn't found, we continue downloading segments, unencrypted video, and assets
+ Program will quit before starting downloads if the keyfile doesn't exist
+ Added an argument to keep vtt caption files ``--keep-vtt``
+ Properly handle large courses (code credit to r0oth3x49) (Fixes #18)
+ Updated parsing for course data (modified from code by r0oth3x49)

This update should be considered as unstable, it will probably have problems. If you find an issue, please create a GitHub issue.
2021-05-26 23:18:52 -04:00
Puyodead1
65db666706
I like badges, do you? 2021-05-23 20:44:26 -04:00
Puyodead1
cb98f57bd0 Update README.md
- Removed threading related stuff
2021-05-21 19:52:29 -04:00
Puyodead1
aab19bf66f New Experimental Downloader, bug fixes, and small updates
+ Updated cleanup function to remove the entire temporary lecture folder instead of just leaving behind tons of empty folders
+ Fixed typo in mux function
+ Segment count is now properly calculated from segment timeline
+ Manifest is now parsed from the URL instead of being downloaded, this should be better for downloading multiple courses at once.
+ Fixed a bug where audio content_type would try to find a max quality
+ New Downloader: Threaded Downloader uses multiple threads to download files, this should improve download speeds greatly. By default, the threaded downloader is not used, you can use the threaded downloader by passing ``--use-threaded-downloader``. By default, it only uses 10 threads, you can set a custom number of threads with the ``--threads`` option
2021-05-21 13:38:24 -04:00
Puyodead1
f62bb52816 Update README.md
+ Add badges to README
2021-05-20 22:56:42 -04:00
Puyodead1
0782c42df7 Major Updates to performance and usage
+ You can now pass the course url to the -c argument instead of the course id
+ Fixed function doc tags
+ Added experimental support for business accounts (the program should auto detect the subdomain from the course url and use it for all requests, you shouldn't need to edit the file)
- Removed the useless creation time metadata from ffmpeg
+ Updated arguments, ``course_url`` is now a required argument
- ``course_url`` will no longer be pulled from the .env file, you can still use the .env for bearer tokens
+ Courses are now downloaded into folders titled by the course name instead of the course id
+ Updated README to reflect updates
+ Fixed a bug where external url files would be appended to each time a the downloader is restarted on a course
2021-05-20 22:34:56 -04:00
Puyodead1
e722eb3fbc fix: course directory not being created 2021-05-19 19:41:53 -04:00
Puyodead1
048fbe09bf Updates
+ Add ability to skip downloading lecture videos
+ You can now specify the Bearer token and course id as an argument to the program (see advanced usage)
+ Updated Advanced Usage section of readme
2021-05-19 17:50:20 -04:00
Puyodead1
0f08002275 updated information for captions 2021-05-19 16:09:47 -04:00