forked from mirror/pixelfed
42 lines
852 B
PHP
42 lines
852 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Storage;
|
|
|
|
class LiveStream extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
public function getHlsUrl()
|
|
{
|
|
$path = Storage::url("live-hls/{$this->stream_id}/index.m3u8");
|
|
return url($path);
|
|
}
|
|
|
|
public function getStreamServer()
|
|
{
|
|
$proto = 'rtmp://';
|
|
$host = config('livestreaming.server.host');
|
|
$port = ':' . config('livestreaming.server.port');
|
|
$path = '/' . config('livestreaming.server.path');
|
|
return $proto . $host . $port . $path;
|
|
}
|
|
|
|
public function getStreamKeyUrl()
|
|
{
|
|
$path = $this->getStreamServer() . '?';
|
|
$query = http_build_query([
|
|
'name' => $this->stream_key,
|
|
]);
|
|
return $path . $query;
|
|
}
|
|
|
|
public function getStreamRtmpUrl()
|
|
{
|
|
return $this->getStreamServer() . '/' . $this->stream_id;
|
|
}
|
|
}
|