問題:如果我使用動態生成的.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
和我生成這樣在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)文件是一個簡單的純文本,其中包含有關視頻的幾種類型的信息。所以在我們的案例中,我們動態生成它並通過網址提供服務,在前面討論的情況下,我們可以看到類似的here。雖然,我們'直接使用.vtt文件'它的工作原理,但我不想這樣做給我的應用程序的體系結構。但是,這不像是一個靜態文件的服務,是不是我們已經這樣做?因此,牢記一切,最簡單的方法就是儘可能少地改變這個問題。我假設,也許我錯過了一個標題或可以使其工作的東西。是這樣嗎?
一些細節有關的問題可能擺脫一些更多的光線進入的問題:從jwplayer支持
鏈接: https://support.jwplayer.com/customer/portal/articles/1407438-adding-closed-captions
從蘋果支持鏈接,標題與HLS: 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? iOS(iphone/ipod)設備的原生字幕支持僅在JW7.3 +中引入。 – jherrieven
是的我正在使用上面提到的例子(http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt)中使用的7.4.2 – Aameer