Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Streaming Berechnen (https://www.delphipraxis.net/141801-streaming-berechnen.html)

Reap3r 16. Okt 2009 13:41


Streaming Berechnen
 
Hi Leute!

Wenn ich Videos schaue muss ich oft vorher Buffern, damit ich das Video ohne Unterbrechung sehen kann!
Jetzt habe ich mir ein Programm geschrieben, dass berechnet, wie lange es dauert, bis der ganze Film gestremt ist und wie lange es dauert den noch nicht gestreamten Teil zu stremen.

Mir stehen also folgende Daten zur Verfügung:

- Länge des Films und wie lange es dauert, bis dieser komplett gestreamt ist.
- Länge des noch nicht gestreamten Teil und wie lange dieser zum stremen braucht
- Länge des bereits gestremten Teils und wie lange dieser zum streamen gbraucht hat

Jetzt streamt das Video ja währent dem schauen weiter.
Wie bekomm ich heraus, wann ich anfangen kann den Film zu schauen, sodass er während dem schauen fertig stremt und ich ohne unterbrechung schauen kann.

Larsi 16. Okt 2009 13:44

Re: Streaming Berechnen
 
Also du könnntest ja berechnen wie lange das Streamen für bspw. 5 Sekunden braucht und dass dann im Verhältnis zu Zeit rechnen.

DeddyH 16. Okt 2009 14:08

Re: Streaming Berechnen
 
Zitat:

Zitat von Larsi
... wie lange das Streamen für bspw. 5 Sekunden braucht ...

Ich schätz mal 5 Sekunden :lol:

Larsi 16. Okt 2009 14:14

Re: Streaming Berechnen
 
Das Buffern dann eben.

himitsu 16. Okt 2009 14:20

Re: Streaming Berechnen
 
jupp, ich würde auch erstmal 5 oder 10 Sekunden lang puffern
(oder bis alles fertig ist, falls Verbindung schnell und/oder Film kurz)

dann schauen wieviel geladen wurde

nun ausrechnen wie lange ich für den Rest des Filmes zum Laden brauch

und jetzt solange warten und alle paar Sekunden neu berechnen,
bis Restladezeit kleiner ist, als die gesamte Filmdauer (zum Angucken)

Reap3r 16. Okt 2009 17:09

Re: Streaming Berechnen
 
Ok! Danke für eure Anmerkungen.
Habe das Problem jetzt gelöst!

Klaus01 16. Okt 2009 17:38

Re: Streaming Berechnen
 
.. wenn Du dann noch schreiben könntest wie Du es gelöst hast
werden es Dir tausende User mit dem gleichen Problem danken.

Grüße
Klaus

Reap3r 17. Okt 2009 09:23

Re: Streaming Berechnen
 
Nunja...
mit meiner Lösung des Problems hat sich gleichzeitig auch ein neues Problem gezeigt!

Meine Lösung sieht so aus:
Ich habe einfach einen Timer eingebaut, der die eingegebenen Daten aus den Edits prüft.
Er testet, ob die Zeit, die es noch dauert den restlichen Film zu streamen kürzer ist, als
die gesamtlänge des Films. Wenn dies der Fall gibt er dies durch Images weiter.

Code:
if Ergebnisrest < LFilm then begin
  form2.image1.visible := true;
  form2.image2.visible := false;
  end;
Ergebnisrest: Zeit, die es dauert den restlichen Film zu streamen
LFilm: Länge des Films

Jetzt ist mein Problem, dass der Timer ja immer das gleiche prüft.
Die Zahlen in den Edits verändern sich ja nicht...
Weiß jemand eine Lösung, wie ich nicht immer neue Daten eingeben muss, sondern
die einmal eingegebenen Daten wie eine runterzählende Uhr weiterlaufen?
Die man vll auch in nem label darstellt?
Ich brauche Ansätze...^^

Danke für alle Hilfe!

Reap3r 17. Okt 2009 15:04

Re: Streaming Berechnen
 
Mein Hauptproblem ist eigentlich, dass ich eine Variable als den Zeitpunkt deklarieren muss,
an dem die Zeit, die zum Streamen benötigt wird genauso groß ist, wie die länge des Films...

Sir Rufo 17. Okt 2009 15:11

Re: Streaming Berechnen
 
Wieso prüft dein timer immer das gleiche?

ErgebnisRest ist doch kein Edit (dann würdest du ja mit ErgebnisRest.Text arbeiten)

BTW: Kann es sein, dass dein Programm NUR die Berechnung ausführt, aber NICHT das streamen?

Reap3r 17. Okt 2009 17:34

Re: Streaming Berechnen
 
Ja mein Programm streamt nicht. es soll mir nur sagen, wann ich anfangen kann einen Film zu schauen, um ihn ohne Unterbrechung schauen zu können

Sir Rufo 17. Okt 2009 20:23

Re: Streaming Berechnen
 
Zitat:

Zitat von Reap3r
Ja mein Programm streamt nicht. es soll mir nur sagen, wann ich anfangen kann einen Film zu schauen, um ihn ohne Unterbrechung schauen zu können

bekommt dein programm von irgendwo her mit, wie weit das streamen gediehen ist?

wenn ja -> ausrechnen (über einen dreisatz)
wenn nein ->
- suche nach einer möglichkeit dieses in erfahrung zu bringen
- tippe es manuell ein
- vergiss es und schaue den film wenn er fertig gestreamt ist :mrgreen:

Reap3r 17. Okt 2009 22:04

Re: Streaming Berechnen
 
Das ist schon von anfang an alles erledigt gewesen...
Ich frage mich nur, ob ich irgendwie den zeitpunkt herausbekommen kann, abn dem die Zeit, die es dauert zu streamen den gleichen Wert hat, wie Länge des Films.

Die Werte hab ich schon alle!

Sir Rufo 18. Okt 2009 00:04

Re: Streaming Berechnen
 
Zitat:

Zitat von Reap3r
Die Werte hab ich schon alle!

Aber was willst Du denn dann berechnen, wenn du schon alles hast? :gruebel:

Vor allem weil der Stream ja auch nicht immer mit maximaler Bandbreite übertragen werden muss, dass kann sich ja auch ändern ...

DeddyH 18. Okt 2009 00:56

Re: Streaming Berechnen
 
Zumal das Dingen während des Schauens ja auch noch weiter streamt. Angenommen, 1 Sekunde Film benötigt 2 Sekunden Downloadzeit (bei konstanter Übertragungsrate). Dann könntest Du nach 2/3 der Gesamtübertragung das Video starten, da das restliche Drittel währenddessen (theoretisch) übertragen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf