Вы могли бы "вероятно" проверить, находит ли URL ресурс видео по заданному регулярному выражению расширения файла.
Но теоретически представление URL само по себе не будетсообщить вам, является ли данный ресурс в сети, на который указывает URL (или, в более широком смысле, URI), видео или нет.URL-адрес может быть любым, например http://can_you_tell_this_is_a_video
, и по-прежнему определять местонахождение видео.
Кроме того, трудно / невозможно определить, действительно ли видео воспроизводится проигрывателем (поддерживаемая кодировка, формат файла и т. Д.).хотя ты знал, что это видео ресурс.Самый простой способ решить эту проблему - просто попытаться передать игроку любой URL-адрес, который вы получите от пользователя.И если игрок говорит, что он не воспроизводится, перейдите к следующему шагу.
С другой стороны, если вам просто нужно определить, является ли URL-адрес обнаруженным видео-ресурсом, то простой способ сделать это запрос HTTP HEAD по URL-адресу с HTTP-клиентом и проверьте заголовок Content-Type , чтобы увидеть, входит ли ресурс в число распространенных типов MIME видео .
Чтобы привести пример, если вы делаете запрос HEAD на https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4
(вы можете проверить его здесь ), ответ HTTP будет выглядеть следующим образом (сервер должен поддерживать запросы HEADи предоставьте правильный заголовок типа контента, обычно они должны):
HTTP/1.1 200 OK
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Accept-Ranges: bytes
Content-Length: 1055736
Content-Type: video/mp4
Date: Wed, 22 May 2019 20:51:28 GMT
Last-Modified: Fri, 17 Jun 2016 17:43:54 GMT
Server: Apache
С помощью этого ответа теперь вы можете проверить значение заголовка Content-Type
- как вы можете видеть, в этом примере тип медиаресурс video/mp4
.