Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2015, 00:37
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Проверка поддерживается ли видео проигрываетелем <video>
Есть плеер вида.
<video id="videoPlayer" poster="/images/poster.png">
	<source id="source" src="/video/movie.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>
Можно ли перед запуском видео сделать проверку, подойдут ли указанные кодеки под данный видеофайл?
Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2015, 11:25
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Писал по памяти, могут быть ошибки)))
var elem = document.createElement('video'),
support_mp4_codec = !!elem.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, '');
alert(support_mp4_codec);


UPD: странно... проверка правильная(я проверил), но у меня выдает "false"... FireFox 39

Последний раз редактировалось KosBeg, 26.07.2015 в 11:38.
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2015, 14:31
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Сообщение от KosBeg Посмотреть сообщение
Писал по памяти, могут быть ошибки)))
var elem = document.createElement('video'),
support_mp4_codec = !!elem.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, '');
alert(support_mp4_codec);


UPD: странно... проверка правильная(я проверил), но у меня выдает "false"... FireFox 39
Возвращает true даже если видео не поддерживается..
Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2015, 15:21
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Сообщение от KosBeg Посмотреть сообщение
UPD: странно... проверка правильная(я проверил), но у меня выдает "false"... FireFox 39
Попробовал на FireFox 39, то же самое =/
Вот информация о видео, которое запускаю, и выдает true, хотя проигрыватель не может его воспроизвести:

General
Complete name               : D:\Downloads\MMFD.S03E01.rus.ApofysTeam.avi
Format                      : AVI
Format/Info                 : Audio Video Interleave
File size                   : 375 MiB
Duration                    : 46mn 31s
Overall bit rate            : 1 127 Kbps
Writing application         : Lavf53.18.0
Writing library             : VirtualDub build 34703/release

Video
ID                          : 0
Format                      : xvid
Codec ID                    : xvid
Duration                    : 46mn 31s
Bit rate                    : 925 Kbps
Width                       : 640 pixels
Height                      : 360 pixels
Display aspect ratio        : 16:9
Frame rate                  : 24.000 fps
Bits/(Pixel*Frame)          : 0.167
Stream size                 : 308 MiB (82%)

Audio
ID                          : 1
Format                      : MPEG Audio
Format version              : Version 1
Format profile              : Layer 3
Mode                        : Joint stereo
Mode extension              : MS Stereo
Codec ID                    : 55
Codec ID/Hint               : MP3
Duration                    : 46mn 31s
Bit rate mode               : Constant
Bit rate                    : 192 Kbps
Channel(s)                  : 2 channels
Sampling rate               : 44.1 KHz
Compression mode            : Lossy
Stream size                 : 63.9 MiB (17%)
Alignment                   : Split accross interleaves
Interleave, duration        : 42 ms (1.00 video frame)
Interleave, preload duratio : 500 ms
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2015, 04:05
Аспирант
Отправить личное сообщение для CraftLawrence Посмотреть профиль Найти все сообщения от CraftLawrence
 
Регистрация: 22.11.2014
Сообщений: 44

Все еще актуально..
Ума не приложу, как это реализовать.

Или, как альтернативу, как сделать обработчик ошибки при вылете плеера, когда тот не может открыть видео? Чтобы ему можно было передать другую ссылку и работать уже с ней. А то после вылета джаваскрипт отмирает и нужно перезагружать страничку.
Ответить с цитированием
  #6 (permalink)  
Старый 29.07.2015, 00:08
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от KosBeg
support_mp4_codec = !!elem.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, '');
Для чего здесь replace? Если метод canPlayType возвращает одну из трех строк: "", "maybe" или "probably".

Может так?
support_mp4_codec = !!elem.canPlayType('video/mp4; codecs="avc1.42E01E"');
Ответить с цитированием
  #7 (permalink)  
Старый 29.07.2015, 13:58
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от Decode
Для чего здесь replace? Если метод canPlayType возвращает одну из трех строк: "", "maybe" или "probably".
код написал по пямяти с modernizr, проверил - там все именно так
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как встроить видео в popup окно? MrFull23 jQuery 1 14.11.2014 10:49
Сайт торент видео онлайн (через браузер). nemo84 Ваши сайты и скрипты 1 18.05.2013 21:07
Проверка видео в браузерах. Isaac jQuery 1 09.04.2012 21:40