Вопрос: если я использую динамически сгенерированный файл .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
Я также прилагаю деталь выстрелов из два запроса в вышеупомянутых двух случаях. Я застрял на этом в течение длительного времени. Любой, кто имеет некоторое представление об этом, пожалуйста, поделитесь. Было бы здорово, если бы вы могли поделиться фрагментом кода или каким-то рабочим примером. Благодаря
Какую версию JW Player вы используете? Поддержка Native caption для устройств iOS (iphone/ipod) была введена только в JW7.3 +. – jherrieven
да Я использую 7.4.2 то же, что и в примере (http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt), упомянутое выше – Aameer