308 Commits

Author SHA1 Message Date
Puyodead1
56e719b59f Feat: Switch to yt-dlp to avoid windows command line limitations 2021-05-30 16:49:29 -04:00
Biplob Sutradhar
a205ec91bf Merge branch 'Puyodead1:master' into master 2021-05-29 15:59:11 +06: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
c90f9c7584 Merge branch 'feat_performance_usage_improvements' 2021-05-28 23:07:59 -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
66aad0dc50 Fix: 1080p not being downloaded when selected 2021-05-28 15:28:03 -04:00
Puyodead1
1fa5bdba90 Fix: caption files having duplicated file extension 2021-05-28 10:19:37 -04:00
Puyodead1
6a2f237969
Add missing urls and methods
"My Courses" and collections
2021-05-28 10:09:50 -04:00
Puyodead1
4d428ea89d Add missing urls and methods for fetching "My Courses" and collections 2021-05-28 10:09:21 -04:00
Puyodead1
ee7be61f6a save external links 2021-05-28 09:42:40 -04:00
Puyodead1
f6ea730215 Remove unused variable and update some strings 2021-05-28 09:31:09 -04:00
Puyodead1
88c32ea55d Add checks for external tools a bug where assets would have their extension appended twice 2021-05-28 09:25:08 -04:00
Puyodead1
cffbcbaa0a Fix: TypeError when exception is caught by handle_segments method 2021-05-28 09:04:17 -04:00
Puyodead1
758f78831b Fix: incorrect worst quality being downloaded instead of best for non-drm videos with auto quality selection 2021-05-28 08:49:11 -04:00
Puyodead1
354b85e142 Fix downloaded files missing file extensions 2021-05-28 08:44:26 -04:00
Puyodead1
d20f15fb6a Use aria2c for asset downloading and non-drm lectures 2021-05-28 08:36:54 -04:00
Puyodead1
05c6c84d55 Remove unused function 2021-05-28 08:12:51 -04:00
Puyodead1
af8b565e23
Remove unused import 2021-05-28 08:10:55 -04:00
Puyodead1
f8e0c790cc Remove unused import 2021-05-28 08:10:27 -04:00
Puyodead1
10b22a6e0b
Remove debug print 2021-05-27 22:02:45 -04:00
Puyodead1
56a1994443 remove a debug print 2021-05-27 21:59:12 -04:00
Puyodead1
3cc22520c8 Added Aria2c
Aria2c is now used for downloading segments as fast as possible (Closes #20)
2021-05-27 21:18:40 -04:00
Puyodead1
67748301de Renamed ffmpeg.py so it doesnt conflict with the ffmpeg command
Removed the .exe from ffmpeg commands and renamed ffmpeg.py to pyffmpeg.py so that the program will still work on linux based systems and not try to execute the ffmpeg python file
2021-05-27 18:28:06 -04:00
Puyodead1
6c2690b856 Fixed an unexpected error where the program would try to execute the ffmpeg.py file instead of the .exe during mux process 2021-05-27 18:22:51 -04:00
Puyodead1
f8521fd84c remove todo tag 2021-05-27 18:10:38 -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
f0e06106fc
Remove un-needed requirements 2021-05-27 01:17:01 -04:00
Puyodead1
b7b27419fd Properly catch connection error and retry (maybe) 2021-05-26 23:39:09 -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
Biplob Sutradhar
b496507e0b
undefine os 2021-05-26 12:59:23 +06:00
Puyodead1
a236156a4d
Merge pull request #16 from biplobsd/master
Unexpected behavior on ubuntu with path format fixs
2021-05-25 07:59:32 -04:00
Biplob Sutradhar
5af8a95925
Failed to parse creation_time fix both plf 2021-05-25 16:19:12 +06:00
Biplob Sutradhar
840a6f6815
Failed to parse creation_time fix 2021-05-25 12:04:12 +06:00
Biplob Sutradhar
134652d6e6
path 2021-05-24 22:35:49 +06:00
Biplob Sutradhar
86fa241ded
path 2021-05-24 22:29:00 +06:00
Biplob Sutradhar
50fb9534d8
path 2021-05-24 22:27:21 +06:00
Puyodead1
1471f58ef7 Merge branch 'master' of https://github.com/Puyodead1/Drm-Dash-stream-downloader 2021-05-23 20:50:30 -04:00
Puyodead1
65db666706
I like badges, do you? 2021-05-23 20:44:26 -04:00
Puyodead1
7f399c71dd
Fix: stray thread arg 2021-05-21 21:31:24 -04:00
Puyodead1
cb98f57bd0 Update README.md
- Removed threading related stuff
2021-05-21 19:52:29 -04:00
Puyodead1
9a1a318f93 Small bug fixes and removed experimental downloader
+ Fixed bug with video being downloaded in place of audio
+ Minor tweaks
- Removed the threaded downloader from main code, the current download system is the most reliable.
2021-05-21 19:50:39 -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
88a411d708 Path updates
- Removed a few unused imports
+ Reworked the way paths are formed so they shouldn't be a problem on other operating systems

NOTE: the new dependencies in requirements.txt are NOT required at this time
2021-05-21 09:27:49 -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