mirror of
https://github.com/openvk/openvk
synced 2024-12-22 16:42:32 +03:00
Add video uploading support for Windows
Untested, but should mark as resoved #506
This commit is contained in:
parent
02cf435868
commit
71c744c41f
2 changed files with 20 additions and 1 deletions
|
@ -41,7 +41,9 @@ class Video extends Media
|
|||
mkdir($dirId);
|
||||
|
||||
$dir = $this->getBaseDir();
|
||||
Shell::bash(__DIR__ . "/../shell/processVideo.sh", OPENVK_ROOT, $filename, $dir, $hash)->start(); #async :DDD
|
||||
$ext = Shell::isPowershell() ? "ps1" : "sh";
|
||||
$cmd = Shell::isPowershell() ? "powershell" : "bash";
|
||||
Shell::$cmd(__DIR__ . "/../shell/processVideo.$ext", OPENVK_ROOT, $filename, $dir, $hash)->start(); #async :DDD
|
||||
} catch(ShellUnavailableException $suex) {
|
||||
exit(OPENVK_ROOT_CONF["openvk"]["debug"] ? "Shell is unavailable" : VIDEOS_FRIENDLY_ERROR);
|
||||
} catch(UnknownCommandException $ucex) {
|
||||
|
|
17
Web/Models/shell/processVideo.ps1
Normal file
17
Web/Models/shell/processVideo.ps1
Normal file
|
@ -0,0 +1,17 @@
|
|||
$ovkRoot = $args[0]
|
||||
$file = $args[1]
|
||||
$dir = $args[2]
|
||||
$hash = $args[3]
|
||||
$hashT = $hash.substring(0, 2)
|
||||
$temp = [System.IO.Path]::GetTempFileName()
|
||||
$temp2 = [System.IO.Path]::GetTempFileName()
|
||||
|
||||
Move-Item $file $temp
|
||||
|
||||
# video stub logic was implicitly deprecated, so we start processing at once
|
||||
ffmpeg -i $temp -ss 00:00:01.000 -vframes 1 "$dir$hashT/$hash.gif"
|
||||
start /B /Low /Wait /Shared ffmpeg -i $temp -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 -vf scale=640x360,setsar=1:1 -y $temp2
|
||||
|
||||
Move-Item $temp2 "$dir$hashT/$hash.ogv"
|
||||
Remove-Item $temp
|
||||
Remove-Item $temp2
|
Loading…
Reference in a new issue