问题:如果我使用动态生成的.ass文件(下面解释的细节)。我是否需要设置任何参数来模拟我的服务器上存在的物理.ass静态文件的行为,我可以使用django吗?
现在实际的问题是如何使用.ass文件作为上下文中的jwplayer的标题文件。
简而言之,我的问题是,我是否有一个名为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我在django中生成这样的内容:
#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全屏(IOS设备)没有显示标题,因为IOS(iphone和ipod)迫使用户在全屏上查看视频。
对于我们的用例,我们动态地生成标题文件。我们提供标题文件的方式如下所示:
如果我没有错的话,webvtt (即.vtt)文件就是一个简单的纯文本,包含关于视频的几种类型的信息。因此,在我们的例子中,我们动态地生成它,并通过url提供服务,在我们前面讨论的情况下,我们可以看到类似的这里。尽管我‘直接使用了.vtt文件’,但考虑到我的应用程序的架构,我不想这么做。但是,这不像静态文件那样服务吗?我们不是已经这样做了吗?所以,记住所有的事情,什么是最干净的方法来解决这个问题,最好是尽可能少的修改。我假设我可能错过了一个标题或者其他什么东西,可以让它发挥作用。是真地吗?
与该问题有关的更多细节可能会进一步阐明这一问题:
来自jwplayer支持的链接:https://support.jwplayer.com/customer/portal/articles/1407438-adding-closed-captions
来自苹果支持的hls:index.html字幕链接
我做了一些基于这个的实验:
在深入研究之后,我们还为EXT-X-STREAM-INF标记添加了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文件,使用相同的播放器:
test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt
我亦附上上述两宗个案的两宗要求的详情。


我在这件事上被困了很长时间。任何对此有一些见解的人--请share.It --如果您能够共享代码片段或某种工作示例,那就太好了。谢谢
发布于 2016-05-13 12:15:19
为了使标题与JW (包括在iDevices上)保持一致,您需要确保以下内容:
或者,您可以考虑为JW播放器添加我的iOS标题插件,它克服了这些问题,在iOS中授予JW标题样式块,并与早期的JW版本一起工作:http://dev.powered-by-haiku.co.uk/solutions/jwioscaptions/。
https://stackoverflow.com/questions/37181025
复制相似问题