Pierre Rudloff
1a6ff90eac
feat: Split Youtube downloads in smaller chunks
...
Fixes #217
2019-04-22 20:20:04 +02:00
Pierre Rudloff
bba2087a55
style(styleci): Lint
2019-04-22 17:04:59 +02:00
Pierre Rudloff
1387d836dc
refactor: New Session class
...
So that session is shared between classes and does not get overwritten
2019-04-22 17:03:54 +02:00
Pierre Rudloff
25f33bba56
refactor: Split FrontController into multiple classes
...
Closes #177
2019-04-22 16:51:48 +02:00
Pierre Rudloff
1df06f7c22
refactor: Use route names that make more sense
2019-04-22 15:31:51 +02:00
Pierre Rudloff
1edd623c7f
fix: Enforce convert mode
...
So it can't be used by adding "&audio=on" manually
2019-04-21 23:16:27 +02:00
Pierre Rudloff
70475f83d4
feat: Add a way to convert an entire playlist
...
Closes #194
2019-04-21 22:56:43 +02:00
Pierre Rudloff
97a7830196
refactor: Reuse Video::getHttpResponse() where possible
2019-04-21 22:38:27 +02:00
Pierre Rudloff
e93ab7ed13
feat: Use ZIP files for playlist archives
...
It is more widely supported and could be later used for #194
2019-04-21 22:34:45 +02:00
Pierre Rudloff
226f1b8380
fix: Don't use the $url property
...
It is not reliable
2019-04-21 22:20:05 +02:00
Pierre Rudloff
61cb73dc59
refactor: Fix some types and unused variables
2019-04-21 19:51:16 +02:00
Pierre Rudloff
4c9af8ad1d
refactor: New Video class
...
The news class provides a cleaner object-oriented logic
BREAKING CHANGE: The VideoDownload class has been removed and the Config constructor is now private
2019-04-21 18:30:02 +02:00
Pierre Rudloff
f9bf3b8d47
refactor: Use a StreamInterface for PlaylistArchiveStream
...
It is much cleaner
2019-04-21 00:35:43 +02:00
Pierre Rudloff
ac3b768b50
refactor(phpstan): Various code improvements
2019-03-31 16:25:17 +02:00
Pierre Rudloff
80b44af772
style: Clarify long conditions
2019-03-30 18:33:05 +01:00
Pierre Rudloff
f315343798
refactor: Cleanup best format logic
...
Reuse $defaultFormat everywhere instead of duplicating conditions
2019-03-27 00:25:02 +01:00
Pierre Rudloff
506584ceee
fix: Specify allowed protocols explicitely
...
"^=http" also catches http_dash_segments
2019-03-24 15:13:01 +01:00
Pierre Rudloff
e90b9e3439
fix: Missing Smarty variable in some routes
2019-01-15 11:16:21 +01:00
Pierre Rudloff
c6cf05f8ec
refactor: Move app name to a config variable
...
See #205
2019-01-06 16:59:16 +01:00
Pierre Rudloff
5b7b101a8a
refactor(FrontController): We don't need to set the filename twice
2018-12-28 20:01:46 +01:00
Pierre Rudloff
ecd5bf306a
fixup! feat: Add support for HTTP range requests when stream mode is enabled
2018-09-18 18:52:56 +02:00
Pierre Rudloff
4cbc21de46
feat: Add support for HTTP range requests when stream mode is enabled
...
Fixes #192
2018-09-18 18:49:43 +02:00
Pierre Rudloff
9a688e931a
fix: Check if the url GET parameter is empty
2018-08-13 10:05:38 +02:00
Pierre Rudloff
b8b6180609
feat: Allow Youtube-like URLs
...
Fixes #184
2018-08-04 15:47:22 +02:00
Pierre Rudloff
298848a2f1
fix: Remux mode should fall back to best format if bestvideo+bestaudio is not available
2018-07-05 17:05:12 +02:00
Pierre Rudloff
159ea245a8
fix: Undefined variables
2018-07-03 19:52:24 +02:00
Pierre Rudloff
f1cf0a2cdc
feat: Add a way to trim the audio
2018-07-03 19:47:35 +02:00
Pierre Rudloff
1e4e6b52be
fix: Set default format to "bestvideo+bestaudio" when remux mode is enabled
...
This fixes an issue on websites like Reddit that only server separate video/audio files
See #173
2018-06-03 18:27:37 +02:00
Pierre Rudloff
d398f9101e
docs: Typo
2018-05-26 14:48:15 +02:00
Pierre Rudloff
edf4d4644d
fix: Fix downloading a playlist as a TAR archive
...
This is the only time where youtube-dl returning an empty URL is not a problem.
2018-05-23 22:38:45 +02:00
Pierre Rudloff
2b316d4e8d
fix: Throw an exception when trying to download DASH with ffmpeg
...
Fallback to default format when we can't download bestaudio
Fixes #165
2018-05-01 16:33:44 +02:00
Pierre Rudloff
74505cea57
feat: JSON API
2018-03-20 12:02:21 +01:00
Pierre Rudloff
04fe43a1ca
style: Declare imported classes at the top of the file
2018-02-05 17:16:41 +01:00
Pierre Rudloff
986dad5100
feat: Make strings in PHP files translatable
...
Meaningful strings are now parsed through the getext() function and the "composer update-locales"
script now parses PHP files.
Fixes #143
2018-01-26 11:37:56 +01:00
Pierre Rudloff
4972c8ab8e
feat: Add a new convertAdvanced option
...
It allows user to convert videos to several other audio/video formats
Fixes #148
2018-01-24 23:31:21 +01:00
Pierre Rudloff
3f325ddaae
Missing property
2017-11-12 16:39:56 +01:00
Pierre Rudloff
2432a06c1b
Make tests run on Windows ( fixes #137 )
...
Use AppVeyor to run tests
2017-11-11 17:48:05 +01:00
Pierre Rudloff
095c1a92f0
Some HLS streams have "m3u8_native" as protocol value (see #133 )
2017-11-02 16:26:10 +01:00
Pierre Rudloff
0a2971399b
Lint
2017-10-29 23:21:13 +01:00
Pierre Rudloff
2b9914f1db
Fix test coverage
2017-09-29 01:11:19 +02:00
Pierre Rudloff
480271a45e
Don't include credentials in URLs ( fixes #118 )
2017-07-05 21:55:58 +02:00
Pierre Rudloff
a2dc71753e
Rename Smarty variable to avoid confusion
2017-05-31 09:32:11 +02:00
Pierre Rudloff
3ead8dd458
Undeclared properties
2017-05-30 23:49:38 +02:00
Pierre Rudloff
0f80cbd333
Improve locale handling
2017-05-30 23:31:12 +02:00
Pierre Rudloff
b4dd0aeb29
Basic locale switcher
2017-05-30 22:21:27 +02:00
Pierre Rudloff
1b4e96f5ef
Refactor FrontController::getStream()
2017-05-05 00:25:08 +02:00
Pierre Rudloff
631f09529f
Fix docblocks
2017-05-05 00:07:56 +02:00
Pierre Rudloff
d7927fc442
Download Tar archives from playlists
2017-05-04 23:52:30 +02:00
Pierre Rudloff
2d872ce652
Lint
2017-05-04 23:07:07 +02:00
Pierre Rudloff
a681804126
Don't use variables when we can use a Config object directly
2017-05-04 20:26:42 +02:00