Pierre Rudloff
43d5cc1dbb
feat: Make generic formats dynamic
...
See #223
2019-05-08 19:49:18 +02:00
Pierre Rudloff
296a5f96b4
fix: Fix YoutubeStream range condition
2019-04-28 21:11:08 +02:00
Pierre Rudloff
b61287523d
refactor: StreamInterface::close() should not return anything
2019-04-28 15:57:21 +02:00
Pierre Rudloff
5e9768e0e7
fix: Validate config only after the options have been set
...
To avoid an exception when default options are not valid but the new options are.
2019-04-28 15:52:01 +02:00
Pierre Rudloff
756ff36653
fix: Wrong variable name
2019-04-26 20:38:14 +02:00
Pierre Rudloff
a1b401c148
refactor: Use less confusing variable names in YoutubeStream
2019-04-22 21:55:45 +02:00
Pierre Rudloff
7bf2510dd2
test(phpunit): Better tests for streams
2019-04-22 21:53:04 +02:00
Pierre Rudloff
84e9e86d28
style(styleci): Lint
2019-04-22 21:08:36 +02:00
Pierre Rudloff
b7bcc24320
fix: Wrong variable name
2019-04-22 21:07:36 +02:00
Pierre Rudloff
e13404903b
refactor: Move exceptions and streams to seperate namespaces
2019-04-22 21:06:05 +02:00
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
3b43018b29
docs: Missing docblocks
2019-04-22 00:05:53 +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
4db519c2ef
fixup! fix: Don't use the $url property
2019-04-21 22:40:54 +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
3ca84e144e
refactor: We don't need this check anymore
2019-04-21 21:36:14 +02:00
Pierre Rudloff
61cb73dc59
refactor: Fix some types and unused variables
2019-04-21 19:51:16 +02:00
Pierre Rudloff
dc4eafe33f
docs: Document magic properties
2019-04-21 19:10:37 +02:00
Pierre Rudloff
51eaf192b1
refactor: Don't mix static and dynamic methods
2019-04-21 18:53:23 +02:00
Pierre Rudloff
06a631c892
fixup! refactor: New Video class
2019-04-21 18:35:24 +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
3077872517
Typo
2019-04-21 01:05:19 +02:00
Pierre Rudloff
586f20adb4
style(styleci): Lint
2019-04-21 00:58:04 +02:00
Pierre Rudloff
ddc27a8a2c
refactor: New PlaylistArchiveVideo class
...
Cleaner way to handle PlaylistArchiveStream info about videos
2019-04-21 00:56:12 +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
07261db27b
fix: Don't call PlaylistArchiveStream parent constructor
...
Because it messes with the output buffer
Fixes #215
2019-04-20 11:27:13 +02:00
Pierre Rudloff
7ab4c55550
docs: Add comments to some tricky parts
2019-04-20 01:19:55 +02:00
Pierre Rudloff
4537b661e1
fix: Close playlist streams correctly
2019-04-20 00:37:49 +02:00
Pierre Rudloff
ac3b768b50
refactor(phpstan): Various code improvements
2019-03-31 16:25:17 +02:00
Pierre Rudloff
5835bd67a5
refactor(phpstan): Various code improvements
2019-03-30 18:21:45 +01:00
Pierre Rudloff
0ed788560c
refactor: PlaylistArchiveStream should call parent constructor
2019-03-30 18:10:51 +01:00
Pierre Rudloff
9322bd5f14
style(StyleCI): Lint PHP
2019-01-06 17:00:12 +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
59aeb753ed
feat: Add support for Arabic locale
2018-12-07 18:19:00 +01:00
dadosch
dcd0237262
add german translation files to Grunt, LocaleManager
2018-10-01 13:55:17 +02:00
Pierre Rudloff
fb90545d92
feat: Add STREAM environment variable so stream mode can be enabled on Heroku
...
See #178
2018-07-06 10:36:53 +02:00
Pierre Rudloff
cb7c21164b
refactor: Simplify getAvconvProcess()
2018-07-03 20:09:45 +02:00
Pierre Rudloff
f1cf0a2cdc
feat: Add a way to trim the audio
2018-07-03 19:47:35 +02:00
Pierre Rudloff
26a5380f45
fix: Always load the UTF-8 locale variant when possible
2018-05-28 12:00:27 +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
17b9185e53
fix: Throw an error when trying to convert a playlist
2018-05-23 21:50:07 +02:00
Pierre Rudloff
647eed9db0
fix: Run youtube-dl with --no-playlist
...
Fixes #172
2018-05-23 21:43:34 +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
003452909a
feat: Add path to "Can't find avconv" error
...
See #109
2018-02-21 18:55:12 +01:00
Pierre Rudloff
b27fa518c9
feat: Add youtube-dl exit code to the exceptions
2018-02-06 19:20:56 +01:00
Pierre Rudloff
5a527373bd
style: throw is not a function
2018-02-06 19:11:57 +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
9ec3194c5e
fix: Don't set QT_QPA_PLATFORM
...
It looks like it not needed with the static build and it causes troubles on Windows
2018-01-25 16:08:00 +01:00
Pierre Rudloff
397bbf96ff
style: Lint
...
Changes suggested by StyleCI
2018-01-25 15:13:13 +01:00
Pierre Rudloff
e36e98e47a
feat: New phantomjsDir option
...
This is used by the openload extractor
We also add to update youtube-dl to 2018.01.21 in order for the extractor to work correctly.
Fixes #146
2018-01-25 15:10:16 +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
ed533da6d4
New environment variable: AUDIO_BITRATE
...
Refactor environment variables code
2018-01-06 18:07:24 +01:00
Pierre Rudloff
9a7ab89286
Remove outdated list of options
2018-01-06 17:46:49 +01:00
Pierre Rudloff
e7c5037fa9
New (empty) portuguese translation
2018-01-02 16:47:48 +01:00
Pierre Rudloff
fd8e6255ef
Add missing doc
2017-12-24 01:13:48 +01:00
Pierre Rudloff
c53f5c0b31
youtube-dl process needs to inherit environment variables ( fixes #145 )
2017-12-23 17:54:14 +01:00
Pierre Rudloff
0c53a95d30
Undefined variable
2017-12-23 16:04:55 +01:00
Pierre Rudloff
3b7cc9e64b
We don't need process-builder-chain anymore
2017-12-23 15:17:47 +01:00
Pierre Rudloff
f8c8935b4c
Use ffmpeg instead of rtmpdump
2017-12-23 15:14:43 +01:00
Pierre Rudloff
7940446af3
Lint
2017-12-23 14:37:29 +01:00
Pierre Rudloff
4c33c309a0
ProcessBuilder is deprecated ( fixes #144 )
2017-12-23 14:35:14 +01:00
Pierre Rudloff
17df0b63cb
Document exceptions in VideoDownload
2017-12-19 15:22:24 +01:00
Pierre Rudloff
8c9c35b673
Lint
2017-12-09 23:57:21 +01:00
Pierre Rudloff
8c0ed9d9f4
Don't set ffmpeg user agent when it is reading from a pipe
2017-12-09 23:56:34 +01:00
Pierre Rudloff
959b141282
Add a setting that controls ffmpeg verbosity
...
Don't display ffmpeg errors in tests
2017-12-09 23:16:48 +01:00
Pierre Rudloff
4ae585eef1
Output ffmpeg errors to STDERR ( fixes #140 )
2017-12-09 22:22:07 +01:00
Pierre Rudloff
0bc5120751
Cleaner way to add a pipe
2017-12-05 21:12:59 +01:00
Pierre Rudloff
47789f8f8d
Check that PlaylistArchiveStream::stream_read returns a string
2017-12-05 19:42:52 +01:00
Pierre Rudloff
d35b43dc17
popen can also return false
2017-12-05 15:56:34 +01:00
Pierre Rudloff
c3719f68e5
Add type checks in PlaylistArchiveStream
2017-12-05 15:49:13 +01:00
Pierre Rudloff
6b73026194
Fix cookie settings in tests
2017-12-05 15:43:35 +01:00
Pierre Rudloff
31576056c7
Fix types in docblock
2017-11-12 16:37:33 +01:00
Pierre Rudloff
21aedb08f0
Remove useless argument
2017-11-12 16:34:14 +01:00
Pierre Rudloff
dcec7115bc
Check that Python can be executed
2017-11-12 15:14:59 +01:00
Pierre Rudloff
383ffca6d4
-user-agent has been replaced by -user_agent in ffmpeg
2017-11-12 15:05:47 +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
600c8757e9
Lint
2017-11-10 23:52:04 +01:00
Pierre Rudloff
fd2a4d8745
Add an option to set the MP3 bitrate when converting ( fixes #113 )
2017-11-10 23:50:17 +01:00
Pierre Rudloff
8848a8dbf3
Improve LocaleMiddlewareTest
...
Add a way to unset the current locale
2017-11-10 12:18:20 +01:00
Pierre Rudloff
d3988503d5
Fix PhantomJS crash with the openload extractor (see #132 )
2017-11-01 23:02:19 +01:00
Pierre Rudloff
0a2971399b
Lint
2017-10-29 23:21:13 +01:00
Pierre Rudloff
09a1aa1422
It seems country() can return an array too
2017-10-26 11:03:30 +02:00
Pierre Rudloff
a665422e53
Merge branch 'master' into develop
2017-10-12 23:49:51 +02:00
Pierre Rudloff
e315d602f2
Hotfix: detect installed UTF-8 locales
2017-10-12 23:28:54 +02:00
Pierre Rudloff
b0c4963ac8
Don't use anonymous functions
...
Added some missing doc
2017-10-02 20:31:56 +02:00
Pierre Rudloff
092f139d96
New Spanish translation
2017-09-24 12:44:04 +02:00
Pierre Rudloff
480271a45e
Don't include credentials in URLs ( fixes #118 )
2017-07-05 21:55:58 +02:00
Pierre Rudloff
4343edcdbb
Merge branch 'master' into develop
2017-07-03 10:40:13 +02:00
Pierre Rudloff
b4f0cf7a38
Use HttpOnly session cookies
2017-07-03 10:35:28 +02:00
Pierre Rudloff
b14df412c1
Only display locales that are installed on the system
2017-06-01 23:40:36 +02:00
Pierre Rudloff
2add291023
Use emoji instead of SVG flags
2017-05-31 16:26:00 +02:00
Pierre Rudloff
68525c9dd8
We don't need to call sessionSegment->get() twice
2017-05-31 00:51:11 +02:00
Pierre Rudloff
0a66dce2b8
More test coverage
...
Run youtube-dl with --restrict-filenames in order to avoid issues when testing against different locales
2017-05-31 00:48:50 +02:00
Pierre Rudloff
dcface7775
Lint
2017-05-30 23:50:42 +02:00
Pierre Rudloff
90dc6f4478
Display each locale in its own language
2017-05-30 23:49:49 +02:00
Pierre Rudloff
3ead8dd458
Undeclared properties
2017-05-30 23:49:38 +02:00
Pierre Rudloff
433a580d64
Fix LocaleMiddleware tests
2017-05-30 23:41:26 +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
ac4bca35a3
Lint
2017-05-29 21:13:10 +02:00
Pierre Rudloff
68b2cca899
Detect user locale
2017-05-29 21:11:59 +02:00
Pierre Rudloff
e8ea411089
Don't lint PlaylistArchiveStream (see https://github.com/squizlabs/PHP_CodeSniffer/issues/1003 )
2017-05-19 14:30:00 +02:00
Pierre Rudloff
f9203706f7
Cleanup root folder ( fixes #110 )
2017-05-15 07:25:14 +02:00
Pierre Rudloff
c1c6c2dd97
Merge branch 'master' into develop
2017-05-14 23:06:31 +02:00
Pierre Rudloff
fed425fce3
Use middleware instead of the noscheme workaround in order to make HTTPS work behind a reverse-proxy
2017-05-14 22:24:39 +02:00
Pierre Rudloff
4810c045a4
Lint
2017-05-14 00:54:47 +02:00
Pierre Rudloff
a89b338060
Improve the way we test if a command can be ran (see #109 )
2017-05-14 00:52:59 +02:00
Pierre Rudloff
82a1d96c3e
Add missing class hints
2017-05-05 01:51:28 +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
00d2f0e199
getAvconvMp3Process should return a Process
2017-05-02 11:20:36 +02:00
Pierre Rudloff
6651b45545
Use --flat-playlist to get playlists more efficiently
2017-04-28 14:43:20 +02:00
Pierre Rudloff
df2de166cb
Accept any PSR container in ViewFactory
2017-04-26 01:08:42 +02:00
Pierre Rudloff
00407a2f60
Lint
2017-04-26 00:52:05 +02:00
Pierre Rudloff
0e7aaea9fc
Move Smarty view creation to ViewFactory class
2017-04-26 00:50:19 +02:00
Pierre Rudloff
453bf6e4c5
More precise doc for getURL()
2017-04-25 14:55:21 +02:00
Pierre Rudloff
5180577b99
Ignore errors in playlists
...
(see https://github.com/rg3/youtube-dl/issues/12835 )
2017-04-25 14:08:29 +02:00
Pierre Rudloff
e9e0f6ca81
Remove useless comment
2017-04-25 11:08:34 +02:00
Pierre Rudloff
43cbd4f6fe
Cleanup playlists
2017-04-25 02:20:15 +02:00
Pierre Rudloff
3f053d9eed
Merge branch 'develop' of https://github.com/hukoeth/alltube into feature/playlist
...
Conflicts:
templates/video.tpl
2017-04-25 01:16:20 +02:00
Pierre Rudloff
b4be0ead6a
Lint
2017-04-25 00:41:49 +02:00
Pierre Rudloff
e6bbe54474
New remux feature ( fixes #103 )
2017-04-25 00:40:24 +02:00
Pierre Rudloff
b80b9c7b2e
Remove dependency on curl ( fixes #105 )
...
avconv/ffmpeg now downloads the video directly when converting
2017-04-24 19:16:38 +02:00
Pierre Rudloff
fb3834296a
Make RTMP videos work in stream mode ( fixes #104 )
2017-04-24 18:31:14 +02:00
Pierre Rudloff
e4f061e6c3
Allow empty config filename (= default)
2017-04-24 17:56:07 +02:00
Uli Koeth
03cf506132
Handle download lists part 1
2017-03-07 17:24:34 +01:00
Pierre Rudloff
f309fc7033
Lint
2017-01-16 12:11:37 +01:00
Pierre Rudloff
4e1c1ca953
Add a stream parameter in config ( fixes #24 and #39 )
2017-01-16 12:02:21 +01:00
Pierre Rudloff
8e6c33c260
Merge branch 'develop' into feature/stream
...
Conflicts:
composer.lock
2017-01-16 11:06:39 +01:00
Pierre Rudloff
3a1d0c4bc7
Lint
2017-01-10 23:39:58 +01:00
Pierre Rudloff
9f112c15b9
Add an uglyUrls option that disables URL rewriting ( fixes #88 )
2017-01-10 23:37:29 +01:00
Pierre Rudloff
f27bb3bbb9
Merge branch 'develop' into feature/stream
2016-12-27 00:02:27 +01:00
Pierre Rudloff
5aad3abc5d
Display error when trying to convert a M3U8 file ( fixes #83 )
2016-12-27 00:01:42 +01:00
Pierre Rudloff
20820d90f0
Missing doc
2016-12-26 15:58:07 +01:00
Pierre Rudloff
3f96adb255
Lint
2016-12-26 15:53:03 +01:00
Pierre Rudloff
28a8addbf1
Experimental support for M3U streams
2016-12-26 15:50:26 +01:00
Pierre Rudloff
02e58c239f
Allow Python to be set from environment variable
2016-12-22 13:46:31 +01:00
Pierre Rudloff
d4f5f93c2d
Lint
2016-12-05 13:12:27 +01:00
Pierre Rudloff
e8a8622131
Undefined variable
2016-10-27 01:27:55 +02:00
Pierre Rudloff
d74ec5d1c4
Refactor listExtractors()
2016-10-27 01:22:30 +02:00
Pierre Rudloff
efe0b97d7f
Support audio conversion of password protected videos
2016-10-20 23:13:37 +02:00
Pierre Rudloff
57a0424b6f
Applied fixes from StyleCI
2016-10-20 21:03:13 +00:00
Pierre Rudloff
e34b01f2c4
Add support for password protected videos
2016-10-20 23:01:31 +02:00
Pierre Rudloff
cb7dad19dc
Throw exception is Python is missing
2016-10-18 10:15:09 +02:00
Pierre Rudloff
b6f8e585be
Add a way to pass a Config object to VideoDownload
2016-10-18 10:03:50 +02:00