2016-05-12 6 views
0

質問を提出します。私はdjangoで提供できるサーバ上に存在する物理的な.ass staticファイルの動作を模倣するためにパラメータを設定する必要がありますか?jwpayerキャプションは

実際の質問は.assファイルを文脈でjwplayerのキャプションファイルとして使用することです。

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 

と私はこのようなジャンゴでコンテンツを生成::私はcaptions.vttと呼ばれるファイルを持っているし、内容の下などあれば、私の質問Inshort

がある

#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 

上記の場合私が直面している問題の詳細は次のとおりです:IOS(iPhoneとiPod)のユーザーがビデオをチェックするようにキャプションがiPhoneのフルスクリーン(iosデバイス)に表示されない全画面表示。我々は動的にキャプションファイルを生成している私たちのユースケースについては

。私たちは、キャプションファイルを提供している方法は、上記のように説明されています。私は間違ってwebvtt(すなわち.vtt)ファイルではありませんよ場合

ビデオに関する情報のいくつかのタイプを含む単純にプレーンテキストです。したがって、我々のケースでは、動的に生成し、以前に議論していたケースのURLでサービスしています。類似のものを見ることができますhere。私は直接.vttファイルを使用していますが、それは動作しますが、私のアプリケーションのアーキテクチャを考えれば、それはやりたくありません。しかし、これは静的なファイルのように提供するのと似ているのではないのですか?すべてのことを念頭に置いて、可能な限り最小限の変更でこの問題を解決する最もクリーンな方法は何ですか?私はおそらく私はそれが動作することができるヘッダーや何かを紛失していると仮定しています。そうですか?

問題にいくつかのより多くの光を当てることが問題に関連するいくつかの詳細:jwplayerサポートから

リンク:HLSとキャプションのリンゴのサポートから https://support.jwplayer.com/customer/portal/articles/1407438-adding-closed-captions

リンク: https://developer.apple.com/library/ios/qa/qa1801/_index.html

私はこれに基づいていくつかの実験を行いました:

少し深く掘り下げた後にも、私はしたかった

#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 

:我々はまた、試してみました

#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 

:下のようEXT-X-STREAM-INFタグのそれでも、我々は最終的に使用 サンプルマスター.m3u8ファイルを目的の結果を見ることができなかった210属性がありますアダプティブストリーミングに使用されるマスターファイルの権利を構築しているかどうかを確認します。しかし、これは、.mpという動画がインケースHLSケースされていない必要があり、同じ問題に直面している保持していない問題でした。

同じプレーヤーを使用して、この例では動作しますが:

をごVTTファイルをこのように設定し、同じプレイヤー使用しています:

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

を私はまたのショットの詳細を添付しています上記の2つの場合に2つの要求があります。 working one not working one 私はこれに長年執着しています。このことについていくつかの洞察力を持っている人なら誰でも共有してください。コードスニペットや何らかの実用的な例を共有できれば素晴らしいでしょう。おかげ

+0

使用しているJWプレーヤーのバージョンは? iOS(iphone/ipod)デバイスのネイティブ字幕サポートは、JW7.3 +でのみ導入されました。 – jherrieven

+0

はい私は上記の例(http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt)で使用されている7.4.2を使用しています – Aameer

答えて

0

は、キャプションが(iDevices上を含む)JW Playerで一貫作業を取得するためには、次のことを確認する必要があります。

  1. あなたはJW 7.3+を使用しています。
  2. キャプションファイルは有効なWebVTTファイルです。理想的には "text/plain" mimeタイプです。
  3. キャプションファイルには、要求元のドメインからのGETアクセスを許可するために、関連するCORSヘッダー(「アクセス制御許可方式」および「アクセス制御許可原点」) があるか、または がホストされていますプレーヤーのソフトウェアと同じドメイン。ファイルのURLは「.vtt」で終わる
  4. キャプション - 何らかのずさんJWコーディングには、これはiOSの

それとも、これらを克服JWプレーヤーのための私のiOSキャプションプラグインを追加することで見ることができるために必要です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コードを調べましたが、正しい構文ですが問題は解決しませんでした。いつかあなたのライブサンプルをあなたと共有しようとしているので、あなたがデバッグするのがより簡単になるかもしれません。 – Aameer

+0

こんにちは。あなたのVTTへのURLが上のリンク(https://preproduction.indee.tv/captions/16885/)であれば、それは ".vtt"で終わらないので、JWで動作しませんiOS。 – jherrieven

+0

画像のスクリーンショットに示されているように、URLも.VTT?で終わらなければなりませんか? – Aameer

関連する問題