2013-05-30 5 views
0

Я создаю простую видеостраницу с video.js, и я хочу показать треки треков. Это код HTML, основанный на документации VideoJS here.Глава треков не отображается с помощью VideoJS

<!DOCTYPE html> 
<html> 
     <head> 
       <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
       <link href="http://vjs.zencdn.net/4.0/video-js.css" rel="stylesheet"> 
       <script src="http://vjs.zencdn.net/4.0/video.js"></script> 
     </head> 
     <body> 
       <video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="940" height="560" data-setup='{}'> 
       <source src="myvideo.mp4" type="video/mp4" /> 
       <track kind="chapters" src="mychapters.vtt" srclang="en" label="English" default="default" > 
       </video> 
     </body> 
</html> 

И это файл webvtt:

WEBVTT 


Chapter 1 
00:00:00.000 --> 00:16:30.000> 
Sample chapter 1 

Chapter 2 
00:16:30.000 --> 00:42:30.000> 
Sample Chapter 2 

При открытии этой страницы в Chrome 27 (на Linux), отображается следующее сообщение об ошибке в консоли Uncaught TypeError: Cannot read property 'id' of undefined на video.js:22. Когда я меняю kind="chapters" на kind="captions", титры действительно работают.

Любая помощь будет принята с благодарностью, поскольку я не могу для жизни меня выяснить, что я делаю неправильно.

Заранее спасибо.

ответ

2

К сожалению, функциональные главы вы ищете не (пока) работы в videojs версии 4.x - это известная проблема:

https://github.com/videojs/video.js/issues/676

Старые версии 3.х сделал работу - Я успешно использовал v3.2 для доставки видео с главами, но более ранние версии плеера были недоступны и не реагировали (без особых усилий).

Чтобы быстро справиться с неперехваченным TypeError (не имея достаточно времени, чтобы справиться с этим более подробно), я добавил следующий лейкопластырь:

if (typeof component === 'undefined') return; 

функции

vjs.Component.prototype.addChild 

просто перед линией:

this.children_.push(component); 

(в неминифицированной версии v4.3, которую я использую, это будет вокруг линии 1660).

Это, очевидно, не делает ничего, чтобы исправить неисправную функциональность Chapters, но поймает ошибку, которая будет выброшена.

+0

Обновление: этот вопрос, кажется, собирает некоторый импульс вперед на github, так как я изначально разместил это. Надеюсь, исправление для глав будет скоро переведено в VideoJS ... https://github.com/videojs/video.js/issues/676 – RTW2