Кто-нибудь здесь знает, как получить продолжительность видео от Telestream уведомления. Я пытался добиться этого, добавив $video->duration = $request->duration;
, Я также включил доставку видео с уведомлениями по телеканалу. Не знаю, как узнать длительность или даже посмотреть, что находится в запросе, так как мой проект находится на живом сервере, и по какой-то причине я не могу открыть там файл журнала.
Я получаю их уведомления по этому маршруту:
Route::post('/webhook/encoding', 'EncodingWebhookController@handle');
И это работает нормально. Каждое уведомление я обрабатываю по-разному в зависимости от того, какое уведомление оно находится в контроллере.
class EncodingWebhookController extends Controller
{
public function handle(Request $request)
{
$event = camel_case($request->event);
if (method_exists($this, $event)) {
$this->{$event}($request);
}
}
protected function videoEncoded(Request $request)
{
$video = $this->getVideoByFilename($request->original_filename);
$video->processed = true;
$video->video_id = $request->encoding_ids[0];
$video->save();
}
protected function encodingProgress(Request $request)
{
$video = $this->getVideoByFilename($request->original_filename);
$video->processed_percentage = $request->progress;
$video->save();
}
protected function getVideoByFilename($filename)
{
return Video::where('video_filename', $filename)->firstOrFail();
}
}
Тогда я думал, что смогу получить продолжительность видео, добавив $video->duration = $request->duration;
в videoEncoded
функция. Но это не работает.
Задача ещё не решена.
Других решений пока нет …