Frage: wenn ich dynamisch erzeugte .ASS-Datei (Details, wie unten erläutert). Muss ich irgendeinen Parameter einstellen, um das Verhalten einer statischen statischen .ass-Datei auf meinem Server nachzuahmen, die ich mit django bedienen kann?jwpayer Untertitel auf IOS Vollbild mit dynamisch generierten Bildunterschriften Datei
jetzt ist die eigentliche Frage über die Verwendung von .ass-Dateien als Caption-Dateien mit jwplayer im Kontext.
Inshort meiner Frage ist, wenn ich eine Datei namens captions.vtt und mit Inhalt wie unter habe:
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
und ich erzeugen, um den Inhalt in django wie folgen aus:
#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
Wenn die oben Frage macht keinen Sinn, denn die Details des Problems, mit denen ich konfrontiert bin, sind: Die Bildunterschriften erscheinen nicht auf dem iPhone Vollbild (iOS-Geräte), da das iOS (iPhone und iPod) die Benutzer zwingt, das Video zu überprüfen Vollbild.
Für unseren Anwendungsfall generieren wir die Untertiteldatei dynamisch. Die Art und Weise, wie wir die Untertiteldatei bedienen, wird oben erläutert:
Wenn ich nicht falsch liege, ist die Datei webvtt (d. H .vtt) ein einfacher Text, der verschiedene Arten von Informationen über das Video enthält. Also in unserem Fall erzeugen wir es dynamisch und servieren es durch eine URL in dem Fall, über den wir schon früher gesprochen haben, wir können einen ähnlichen sehen here. Obwohl, wir verwenden wir direkt eine .vtt Datei 'Es funktioniert, aber ich möchte das nicht tun, da die Architektur meiner App. Aber ist das nicht ähnlich wie eine statische Datei und tun wir das nicht schon? So, alles im Kopf zu behalten, was ist der sauberste Weg, um dieses Problem mit möglichst geringen Änderungen zu beheben. Ich gehe davon aus, dass ich vielleicht einen Header oder etwas vermisse, das es funktionieren lassen könnte. ist das so?
einige weitere Details zu dem Problem im Zusammenhang, die etwas mehr Licht in das Dunkel bringen können:
Link von jwplayer Unterstützung: https://support.jwplayer.com/customer/portal/articles/1407438-adding-closed-captions
Link von Apple Unterstützung für Untertitel mit HLS: https://developer.apple.com/library/ios/qa/qa1801/_index.html
einige Experimente, die ich auf dieser Grundlage gemacht habe:
Nach dem Graben in etwas tiefer haben wir auch hinzugefügt CLOSED-CAPTIONS
-Attribut für den EXT-X-STREAM-INF
Tag aber noch konnten wir nicht die gewünschten Ergebnisse Probe Master .m3u8
-Datei, die wir schließlich verwendet wird, wie unter:
#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
wir auch versucht:
#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
Ich wollte bestätigen, ob wir das Master-Datei-Recht erstellen, das für das adaptive Streaming verwendet wird? aber das gilt nicht, da .mp videos mit dem gleichen problem konfrontiert sind, was im fall nicht der fall gewesen sein sollte hl war ein problem.
während dieses Beispiel des gleichen Spieler mit funktioniert:
Ihre VTT-Dateien auf diese Weise einrichten, verwendet den gleichen Spieler:
http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt
Ich bin auch Details der Aufnahmen von der Befestigungs zwei Anfragen in den beiden oben genannten Fällen.
Ich habe auf diesem für eine lange Zeit festgefahren. Jeder, der etwas Einblick hat, teilt dies bitte. Es wäre toll, wenn Sie ein Code-Snippet oder ein Arbeitsbeispiel teilen könnten. Dank
Welche Version von JW Player verwenden Sie? Native Caption-Unterstützung für iOS (iPhone/iPod) Geräte wurde nur in JW7.3 + eingeführt. – jherrieven
ja ich benutze 7.4.2 das gleiche wie im oben erwähnten Beispiel (http://qa.jwplayer.com/~heidi/cc_indee_test.html http://qa.jwplayer.com/~heidi/beautifulmind.vtt) – Aameer