Code refactoring
This commit is contained in:
parent
b4d3b9d88b
commit
7d930d5083
1 changed files with 28 additions and 20 deletions
|
@ -147,6 +147,32 @@ class VideoDownload
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add options to a process builder running rtmp.
|
||||||
|
*
|
||||||
|
* @param ProcessBuilder $builder Process builder
|
||||||
|
* @param object $video Video object returned by youtube-dl
|
||||||
|
*
|
||||||
|
* @return ProcessBuilder
|
||||||
|
*/
|
||||||
|
private function addOptionsToRtmpProcess(ProcessBuilder $builder, $video)
|
||||||
|
{
|
||||||
|
foreach ([
|
||||||
|
'url' => 'rtmp',
|
||||||
|
'webpage_url' => 'pageUrl',
|
||||||
|
'player_url' => 'swfVfy',
|
||||||
|
'flash_version' => 'flashVer',
|
||||||
|
'play_path' => 'playpath',
|
||||||
|
'app' => 'app',
|
||||||
|
] as $property => $option) {
|
||||||
|
if (isset($video->{$property})) {
|
||||||
|
$builder->add('--'.$option);
|
||||||
|
$builder->add($video->{$property});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $builder;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a process that runs rtmp in order to download a video.
|
* Get a process that runs rtmp in order to download a video.
|
||||||
*
|
*
|
||||||
|
@ -162,34 +188,16 @@ class VideoDownload
|
||||||
$builder = new ProcessBuilder(
|
$builder = new ProcessBuilder(
|
||||||
[
|
[
|
||||||
$this->config->rtmpdump,
|
$this->config->rtmpdump,
|
||||||
'-q',
|
'-q'
|
||||||
'-r',
|
|
||||||
$video->url,
|
|
||||||
'--pageUrl', $video->webpage_url,
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
if (isset($video->player_url)) {
|
$builder = $this->addOptionsToRtmpProcess($builder, $video);
|
||||||
$builder->add('--swfVfy');
|
|
||||||
$builder->add($video->player_url);
|
|
||||||
}
|
|
||||||
if (isset($video->flash_version)) {
|
|
||||||
$builder->add('--flashVer');
|
|
||||||
$builder->add($video->flash_version);
|
|
||||||
}
|
|
||||||
if (isset($video->play_path)) {
|
|
||||||
$builder->add('--playpath');
|
|
||||||
$builder->add($video->play_path);
|
|
||||||
}
|
|
||||||
if (isset($video->rtmp_conn)) {
|
if (isset($video->rtmp_conn)) {
|
||||||
foreach ($video->rtmp_conn as $conn) {
|
foreach ($video->rtmp_conn as $conn) {
|
||||||
$builder->add('--conn');
|
$builder->add('--conn');
|
||||||
$builder->add($conn);
|
$builder->add($conn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isset($video->app)) {
|
|
||||||
$builder->add('--app');
|
|
||||||
$builder->add($video->app);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $builder->getProcess();
|
return $builder->getProcess();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue