2016-05-12 19 views
0

Вопрос: если я использую динамически сгенерированный файл .ass (подробности о том, как объясняется ниже). Нужно ли мне устанавливать какой-либо параметр, чтобы издеваться над поведением физического статического файла .ass, присутствующего на моем сервере, который я могу обслуживать с помощью django?jwpayer подписи на полноэкранном режиме IOS с динамически созданным титром файла

В настоящее время актуальный вопрос касается использования файлов .ass в качестве файлов подписи с jwplayer в контексте.

Inshort мой вопрос, если у меня есть файл с именем captions.vtt и имеющие содержание, как в:

WEBVTT 

00:00:03.000 --> 00:00:06.000 
<v Roger Bingham>We are in New York City 

00:00:13.000 --> 00:00:16.000 
<v Roger Bingham>We're actually at the Lucern Hotel, just down the street 

и сгенерировать содержимое в Джанго так:

#url which generated and returns captions file 
urlpatterns += patterns('apps.mymodel.views', 
         url(r'^captions/(?P<pk>[0-9a-zA-Z]+)/$', 'captions_view',name='captions'), 
) 
#this view is responsible for creating .vtt files on go and returning them 
def captions_view(request,pk): 
    """ 
    To Avoid multiple caption files for html5 players we use cap.vtt 
    as a template and then pass the text onwards.Note the cap.vtt has the approx 
    time for which caption should be visible, 
    To fix the issue with the iphone captions trying it as file download and assigning content type 
    """ 
    print('In the captions view') 
    myobj = Myobj.objects.get(pk=pk) 
    watermark_text = myobj.watermark_text 
    from django.template import Context 
    from django.template.loader import get_template 
    from django.http import HttpResponse 
    captions_context = Context(dict(text=text)) 
    captions_body = get_template('home/cap.vtt').render(captions_context) 
    mimetype = "text/vtt" 
    response = HttpResponse(captions_body, content_type=mimetype) 
    response["Content-Disposition"]= "attachment; filename=capt.vtt" 
    #return render_to_response('home/cap.vtt',{'watermark_text':watermark_text}) 
    return response 

#template for .vtt (name for the template is home/cap.vtt) 
WEBVTT 
00:00:00.000 --> 00:00:02.000 
<v Roger Bingham>We are in New York City 
00:00:03.000 --> 03:00:00.000 
{{text}} 


the output in this case would be say something like 
WEBVTT 
00:00:00.000 --> 00:00:02.000 
<v Roger Bingham>We are in New York City 
00:00:03.000 --> 03:00:00.000 
woouf 

Если выше вопрос не имеет никакого смысла, то детали проблемы, с которой я столкнулся, заключаются в том, что подписи не отображаются на полноэкранном (iphone) устройстве iphone, поскольку IOS (iphone и ipod) заставляет пользователей проверять видео в полноэкранный.

Для нашего случая использования мы генерируем файл подписи динамически. Способ, которым мы обслуживаем файл подписи, описан выше:

Если я не ошибаюсь, файл webvtt (i.e .vtt) представляет собой простой текст, содержащий несколько типов информации о видео. Таким образом, в нашем случае мы динамически генерируем его и обслуживаем его по URL-адресу в случае, который мы обсуждали ранее, мы видим аналогичный here. Хотя, я непосредственно использую файл .vtt. Он работает, но я не хочу этого делать, учитывая архитектуру моего приложения. Но разве это не похоже на обслуживание как статический файл, и мы этого уже не делаем? Поэтому, сохраняя все в виду, какой самый чистый способ исправить эту проблему желательно с минимально возможными изменениями. Я предполагаю, что, возможно, мне не хватает заголовка или что-то, что может заставить его работать. это так?

еще некоторые детали, относящиеся к проблеме, которая может пролить больше света на вопрос:

связь от jwplayer поддержки: https://support.jwplayer.com/customer/portal/articles/1407438-adding-closed-captions

ссылка от поддержки яблока для подписи с ЗОЖ: https://developer.apple.com/library/ios/qa/qa1801/_index.html

несколько экспериментов я сделал по этому вопросу:

После того, как мы углубились в глубь, мы также добавили CLOSED-CAPTIONS атрибута для EXT-X-STREAM-INF тега, но до сих пор мы не могли видеть желаемые результаты мастера-образец .m3u8 файла, который мы, наконец, используемые как в:

#EXTM3U 
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc" 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1075000,RESOLUTION=640x360,CODECS="avc1.42001e,mp4a.40.2",CLOSED-CAPTIONS="cc" 
4610_360.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1692000,RESOLUTION=854x480,CODECS="avc1.42001f,mp4a.40.2",CLOSED-CAPTIONS="cc" 
4610_480.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2874000,RESOLUTION=1280x720,CODECS="avc1.42001f,mp4a.40.2",CLOSED-CAPTIONS="cc" 
4610_720.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4623000,RESOLUTION=1280x720,CODECS="avc1.420028,mp4a.40.2",CLOSED-CAPTIONS="cc" 
4610_1080.m3u8 

мы также пытались:

#EXTM3U 
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",NAME="CC1",LANGUAGE="en",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1" 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1075000,RESOLUTION=640x360,CODECS="avc1.42001e,mp4a.40.2",SUBTITLES="subs",CLOSED-CAPTIONS="cc" 
4610_360.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1692000,RESOLUTION=854x480,CODECS="avc1.42001f,mp4a.40.2",SUBTITLES="subs",CLOSED-CAPTIONS="cc" 
4610_480.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2874000,RESOLUTION=1280x720,CODECS="avc1.42001f,mp4a.40.2",SUBTITLES="subs",CLOSED-CAPTIONS="cc" 
4610_720.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4623000,RESOLUTION=1280x720,CODECS="avc1.420028,mp4a.40.2"SUBTITLES="subs",CLOSED-CAPTIONS="cc" 
4610_1080.m3u8 

Я хотел подтвердите, если мы создаем право главного файла, которое используется для адаптивной потоковой передачи? но это не так, поскольку .mp видео сталкиваются с той же проблемой, которая не должна была иметь место в случае, если проблема была решена.

в то время как в этом примере, используя тот же плеер работает:

настройка файлов VTT таким образом, использует один и тот же игрок:

http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt

Я также прилагаю деталь выстрелов из два запроса в вышеупомянутых двух случаях. working one not working one Я застрял на этом в течение длительного времени. Любой, кто имеет некоторое представление об этом, пожалуйста, поделитесь. Было бы здорово, если бы вы могли поделиться фрагментом кода или каким-то рабочим примером. Благодаря

+0

Какую версию JW Player вы используете? Поддержка Native caption для устройств iOS (iphone/ipod) была введена только в JW7.3 +. – jherrieven

+0

да Я использую 7.4.2 то же, что и в примере (http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt), упомянутое выше – Aameer

ответ

0

Для того, чтобы получить подписи, работающих последовательно с JW проигрывателя (в том числе по мобильным iУстройством), необходимо обеспечить следующее:

  1. Вы используете JW 7.3+;
  2. Файл подписи является допустимым файлом WebVTT - в идеале с типом mime-типа text/plain;
  3. Файл подписи имеет соответствующие заголовки CORS («Access-Control-Allow-Methods» и «Access-Control-Allow-Origin») , чтобы разрешить доступ GET из запрашивающего домена, или файл , размещенный на тот же домен, что и программное обеспечение проигрывателя;
  4. Титров файл URL заканчивается в «.vtt» - из-за какие-то неряшливые кодирования JW, это требуется для прошивки

Или вы можете посмотреть на добавлении моих IOS подписи плагин для JW Player, который преодолевает эти выпуски, отличием блока стилей заголовков JW в iOS и работает также с более ранними версиями JW: http://dev.powered-by-haiku.co.uk/solutions/jwioscaptions/

+0

Привет @jherrieven Я использую JW 7.4.2, я использую действительный WebVTT, который можно проверить здесь https://quuz.org/webvtt/. Более того, я делаю запрос из того же домена, но то, что я пытаюсь, я предполагаю, что в этом случае он не размещен, мы создали файл и отправили его на передний план. Мои файлы подписей в обоих случаях заканчиваются на .vtt, я также пробовал плагин, хотя у него есть проблема с синтаксисом, но я заглянул в код js видео, встроенный на страницу, и имел правильный синтаксис, но до сих пор не решил мою проблему .I я собираюсь поделиться с вами живым примером после некоторого времени, чтобы вам было легче отлаживать – Aameer

+0

Привет. Если URL-адрес вашего VTT, как у вас есть ссылка на выше (https://preproduction.indee.tv/captions/16885/), то он не заканчивается на «.vtt» и поэтому не будет работать с JW on IOS. – jherrieven

+0

, если URL-адрес также заканчивается на .VTT ?, только имени файла, как показано на экране, снятом на изображении? – Aameer

 Смежные вопросы

  • Нет связанных вопросов^_^