matze_ger Posted April 28, 2011 Share Posted April 28, 2011 Da ich schon Stunden damit verbracht habe einen Befehl zu finden der es erlaubt beim abspielen einer Aufnahme zu einer bestimmten Position zu springen denke ich das dieser noch fehlt in der Com-Schnittstelle. Über Umwege wie mit Bookmarks geht es zwar aber das ist ja nicht schön. Folgende Funktionen wären klasse: SeekToFrame(Framenumber, Orgin) Diese Funktion springt zu einem bestimmten Frame Framenumber = Anzahl Frames die gesprungen werden - = Rückwärts Orgin= kann angegeben werden ob von Position 0 oder der aktuellen position gesprungen wird. SeekToTime(seconds, Orgin) Diese Funktion springt zu einem bestimmten Zeit seconds= Anzahl Sekunden die gesprungen werden - = Rückwärts Orgin= kann angegeben werden ob von Position 0 oder der aktuellen position gesprungen wird. Des weitern habe ich festgestellt das die Zeitanzeige sehr ungenau ist was diesbezüglich natürlich ein Problem darstellt. Meine Test im Vergleich zu Mpeg2Schnitt ergaben folgendes Ergebnis: Mpeg2Schnitt DVBViewer 0:52:34 0:52:57 +23 sek 1:40:52 1:41:37 +45 sek 1:14:41 1:15:26 +35 sek Getestet mit dem gleichen Film und System Quote Link to comment
Griga Posted April 28, 2011 Share Posted April 28, 2011 Des weitern habe ich festgestellt das die Zeitanzeige sehr ungenau ist Das liegt an der variablen Bitrate und daran, dass der DVBViewer die Dateiposition bei Wiedergabe mit dem DVBViewer Filter anhand der durchschnittlichen Bitrate ermittelt, was zwar ungenau ist, aber sehr schnell geht. Schnittprogramme lesen i.a. erst die gesamte Datei, um einen Index zu erstellen, und wissen es dann natürlich besser. Quote Link to comment
matze_ger Posted May 9, 2011 Author Share Posted May 9, 2011 Danke für die Info, sowas habe ich mir schon gedacht. Schön wäre eine Möglichkeit wenn der DVBViewer Indexdateien verwenden könnte oder sogar diese erstellt, alternativ dazu wäre auch eine Funktion von Vorteil die an eine bestimmte Byte Position springt. Gruß Matze Quote Link to comment
dbraner Posted May 10, 2011 Share Posted May 10, 2011 Ein Springen wird nur zu einem I-Frame möglich sein. Ohne Index (aller I-Frames) wird es also nicht gehen. Ein Frame bzw. Sekunden genaues Springen wird je nach GOP-Länge auch relativ ungenau sein. Quote Link to comment
matze_ger Posted May 10, 2011 Author Share Posted May 10, 2011 hmm, ich kenne mich leider nicht im Detail mit dem internen Aufbau von Videostreams aus. Jetzt kommt das aber :-) Aber es gibt ja Schnittprogramme welche einen Stream analysieren und eine Indexdatei erzeugen, diese Analyse geht ja relativ schnell. Danach müsste es doch möglich sein an bestimmte Positionen zu springen +- 1-2 sec. Ich habe mal mit VDR rumgespielt und ich fand die Möglichkeit Werbeblöcke zu überspringen einfach super, dies wollte ich jetzt gerne in den DVBViewer Scripten aber Abweichungen von 20-40 sec machen dann dieses feature unbrauchbar. Interessant wäre zu analysieren wie es VDR geschafft hat in solch einem Stream relativ genau und schnell zu springen. Quote Link to comment
erwin Posted May 11, 2011 Share Posted May 11, 2011 Wie es der VDR macht weiss ich nicht. Aber ein "Sekundenindex", d.h. einmal pro Sekunden die aktuelle Schreibposition merken ist irgendwie naheliegend. Ich machs jedenfalls so in meinem TimeshiftPlus-Plugin erwin Quote Link to comment
matze_ger Posted May 15, 2011 Author Share Posted May 15, 2011 Ist es möglich in form von einem Plugin zu einer bestimmten Position in der Aufnahme zu springen? Habe im SDK nicht auf Anhieb was diesbezüglich gefunden. Matze Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.