Commit graph

291 commits

Author SHA1 Message Date
Pierre Rudloff
8d15fbdda2 Lint 2020-09-27 16:06:49 +02:00
Pierre Rudloff
b6b4dad2ec Custom 404 and 405 error pages 2020-07-15 23:17:23 +02:00
Pierre Rudloff
280618bb6b Use a factory to Config and LocaleManager (see #298) 2020-07-15 23:05:41 +02:00
Pierre Rudloff
96a75cbf14 Log youtube-dl and ffmpeg commands (fixes #297) 2020-07-15 22:52:38 +02:00
Pierre Rudloff
b02e255cb4 Avoid magic numbers 2020-07-05 11:22:55 +02:00
Pierre Rudloff
281acf3068 Don't exclude RoboFile.php from grumphp scans (closes #294) 2020-07-02 22:53:15 +02:00
Pierre Rudloff
d127964eff Simplify PSR-4 autoload 2020-07-01 22:52:22 +02:00
Pierre Rudloff
683a19b0fb Remove references to avconv
Most distributions now use ffmpeg instead
2020-06-22 23:26:47 +02:00
Pierre Rudloff
f90a08e89c Stop installing ffmpeg and phantomjs with Composer
It is convenient but this a the job of the OS package manager
2020-06-22 23:21:22 +02:00
Pierre Rudloff
251fbe48ca Add generator meta with the current version 2020-06-21 15:51:28 +02:00
Pierre Rudloff
5c2823e3f1 Move Video class to a separate library
+ improve error handling
+ youtube-dl update
2020-06-21 15:12:03 +02:00
Pierre Rudloff
672a1a9754 Disable debug mode if dev dependencies are not installed 2020-06-20 14:14:38 +02:00
Pierre Rudloff
a79c89aea7 fixup! Add fallback to bestvideo and worstvideo (fixes #288) 2020-06-20 13:39:35 +02:00
Pierre Rudloff
29756cf290 Add fallback to bestvideo and worstvideo (fixes #288) 2020-06-20 13:34:46 +02:00
Pierre Rudloff
ad77d029d3 fixup! Detect locales automatically 2020-05-28 00:33:07 +02:00
Pierre Rudloff
cb20f4e51d Detect locales automatically 2020-05-28 00:22:30 +02:00
Pierre Rudloff
689264cb35 Fix typo 2020-05-15 21:18:01 +02:00
Pierre Rudloff
7b5e7cb6d9 Disable IDN conversion 2020-05-14 11:55:30 +02:00
0x6470
8f7601edd8
Fix xHamster support, fixes #264 (#276)
* Fix xhamster support

* Send http headers properly

* added spaces

* convert stdObject to array for comparison

Co-authored-by: Pierre Rudloff <contact@rudloff.pro>
2020-05-14 10:59:59 +02:00
Pierre Rudloff
e81cbe70be Lint 2020-05-14 00:26:36 +02:00
Pierre Rudloff
1d9a709444 Remove obsolete phpstan rule 2020-05-14 00:25:23 +02:00
Pierre Rudloff
6adc1df213 phpstan update
Better typying
2020-05-13 22:28:05 +02:00
Pierre Rudloff
74db3b9ad0 Update guzzle to 6.5 2020-05-13 21:39:38 +02:00
Pierre Rudloff
71d49ad74f Lint 2020-05-13 21:18:32 +02:00
Pierre Rudloff
a478aea3ca Stop using pathinfo (fixes #272)
Because it does not handle UTF-8 filenames correctly
2020-04-09 20:46:14 +02:00
Pierre Rudloff
d910c2b47f New Turkish locale (provided by @urasbey) 2020-03-19 10:30:57 +01:00
daCaPo
e2d284399a Switch from rg3/youtube-dl to ytdl-org/youtube-dl 2020-03-19 10:12:18 +01:00
Pierre Rudloff
6b6e571b71 Explain that the Video class accepts any youtube-dl format string (see #260) 2020-03-19 10:01:55 +01:00
Pierre Rudloff
09bbe3c196 fixup! Upgrade jawira/case-converter (fixes #262) 2020-02-23 17:30:34 +01:00
Pierre Rudloff
0c18535ac1 Useless parameter 2020-02-23 17:26:21 +01:00
jagub2
c5a8ec7697
add Polish translation 2020-01-25 01:36:09 +01:00
jagub2
2d7e29a526
fix video remuxing 2020-01-24 00:34:40 +01:00
Pierre Rudloff
2f3ab77e8b Stop using grunt and use grumphp and robo instead 2019-11-30 16:34:35 +01:00
Pierre Rudloff
904e18c220 Switch to Symfony 5 2019-11-29 23:15:03 +01:00
Pierre Rudloff
cc55fabe14 Remove remaining gettext functions 2019-11-29 22:56:41 +01:00
Pierre Rudloff
850fc80622 Add support for variables in translation (#250) 2019-11-29 22:13:11 +01:00
Pierre Rudloff
7772de5394 Fix tests (#250) 2019-11-28 00:04:05 +01:00
Pierre Rudloff
a5bd827d21 Switch to symfony/translation for translations (#250) 2019-11-27 23:15:49 +01:00
Pierre Rudloff
0b1ce90f47 New debug option 2019-11-27 21:41:15 +01:00
Pierre Rudloff
8521b03cc9 Allow every config options to be set with environment variables 2019-11-10 18:14:15 +01:00
Pierre Rudloff
9fc21b2419 fix: always use headers provided by youtube-dl when streaming 2019-10-16 23:00:05 +02:00
Pierre Rudloff
a2f5f90e03 fixup! style(phpcs): Switch to PSR-12 2019-10-03 21:41:54 +02:00
Pierre Rudloff
44bf858c35 style(phpcs): Switch to PSR-12
https://www.php-fig.org/psr/psr-12/
2019-10-03 21:24:12 +02:00
Pierre Rudloff
6cd8eeed4a fix: Use cookies provided by youtube-dl
Fixes #225
2019-09-26 21:36:40 +02:00
Pierre Rudloff
dcf65cadb0 fix: Make sure array_combine returns an array 2019-06-17 23:19:18 +02:00
Pierre Rudloff
d35801d9a0 fixup! feat: Make generic formats dynamic 2019-05-08 19:55:18 +02:00
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