Hilfe, Film ruckelt

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Hilfe, Film ruckelt

Beitrag von Franky »

Hallo, ich hab ein ganz großes Problem

Ich habe einen Film erstellt (zumeist Diashow), in dem ich 2 Szenen habe, in denen ich jeweils ein Bild links und ein Bild rechts habe. das eine Bild wird aus dem Bild herraus geschoben, das andere Bewegt sich in die Mitte.

Dazu habe ich noch eine Szene, in der 2 Bilder von jeweils einer Position aus immer größer werden, bis sie halt nebeneinander stehen.

Das Filmformat ist Avi, 720*480pi, habs mal mit 24, mal mit 29 FPS ausprobiert.

Das Problem ist nun, dass eben genannte Szenen extrem flakern, so als ob immer einmal das Nächste Bild in der Reihe, dann aber wieder das erste Bild der gesamten Szene gezeigt wird. Ich hab es schon zerschnitten und die Menge der Stufen halbiert, im Editor kann man auch sehen, das das Flackern nicht an den Bildern eigentlich hängt.

Nun also meine ganz einfache Frage: Wie krieg ich das weg?

Achja, die Szenen hab ich mir mit PB selbst programmiert :mrgreen:

Um euch das Problem mal zu verdeutlichen:

Code: Alles auswählen

InitScreen()
InitSprite()
If OpenScreen(1024,768,32,"Problemzeiger")
    posx1=276
    posy1=404
    posx2=789
    posy2=404
    Repeat 
        ClearScreen(RGB(0,0,0))
        StartDrawing(ScreenOutput())
         FrontColor(RGB(255,255,255))
         DrawingMode(1)
         DrawText(0,0,"So sollte es sein")
         FrontColor(RGB(255,0,0))
         Box(posx1-200*a/100,768-posy1-300*a/100,400*a/100,400*a/100)
         FrontColor(RGB(0,0,255))
         Box(posx2-200*a/100,768-posy2-300*a/100,400*a/100,400*a/100)
        StopDrawing()
        FlipBuffers()
        Delay(15)
        a=a+1
    Until a=100
    ClearScreen(RGB(0,0,0))
        StartDrawing(ScreenOutput())
         FrontColor(RGB(255,255,255))
         DrawingMode(1)
         DrawText(512,384,"Gesehen?")
        StopDrawing()
        FlipBuffers()
        Delay(500)
      
    a=0
    Repeat 
        ClearScreen(RGB(0,0,0))
        StartDrawing(ScreenOutput())
         FrontColor(RGB(255,255,255))
         DrawingMode(1)
         DrawText(0,0,"So isses leider :(")
         FrontColor(RGB(255,0,0))
         If a%4
               Box(posx1-(200*a/100),768-posy1-300*a/100,400*a/100,400*a/100)
               FrontColor(RGB(0,0,255))
               Box(posx2-200*a/100,768-posy2-300*a/100,400*a/100,400*a/100)
         EndIf
        StopDrawing()
        FlipBuffers()
        Delay(15)
        a=a+1
    Until a=100
CloseScreen()
EndIf

Tja und eine Frage hab ich noch. Der 10 Minutenfilm braucht 1,92GB, dat geht doch auch ohne Qualitätsverlust sicher kleiner, oder? ;)
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

womit machst du den film denn?

ich kenn solche flacker-probleme nicht, wenn ich bmp2avi benutze.
dort kann ich beim erstellen auch alle vorhandenen codex auswählen,
was sich eklatant auf die größe auswirken kann.
nachteil ist: ich muss alle einzelbilder als bmp in einem verzeichnis haben,
da muss ich also bei der erzeugung die 2GB vorhalten...

die frage dürfte also sein, womit du es erzeugst.

..und btw. probier mal ne bildrate von 30, das passt besser zu den verfügbaren refresh-raten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Um es kleiner zu halten, würde ich nahträglic hals xVid oder Divx mcodieren. Ist wesentlich kleiner bei gleicher Qualität.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Ist wesentlich kleiner bei gleicher Qualität.
Gleiche Qualität stimmt nicht. Man sieht die Unterschiede, vorausgesetzt man
hat einen halbwegs hochwertigen Monitor.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Man sieht einen UNterschied? Im Vergleich zu welchem Codec?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Alves hat geschrieben:Man sieht einen UNterschied? Im Vergleich zu welchem Codec?
Bei jedem Codec sieht man einen Unterschied zu RAW-AVI, also
unkomprimiert. Je doller die Komprimierung, so schneller sind Unterschiede
zu sehen. XVID und DivX komprimieren sehr gut in sehr guter Qualität, was
aber nicht heißt, das es nicht sichtbar ist. Man bemerkt den Unterschied nicht
unbedingt, wegen nicht genaus gucken oder miesem Monitor.
Die Geschwindigkeit des PCs spielt auch noch eine Rolle, weil
dekomprimieren kostet nunmal Zeit.

Die Aussage: bei gleicher Qualität stimmt also nicht.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Okay, also für mich reicht es^^
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Alves hat geschrieben:Okay, also für mich reicht es^^
Zum gucken reicht es, aber zum weiterbearbeiten ist es nicht unbedingt geeignet.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

zum Bearbeiten von richtig grossen Videos oder auch mal temporär ohne Qualitätsverlust abzuspeichern gibts mal 3 Codecs .. braucht jedoch shcon ne heftige CPU.

GZIPCodec
LZWCodec
PNGCodec

sind im ACECodecpack enthalten falls jemand braucht.

Wegen Rucklen versuchs mal mit MPEG und schau obs da immernoch so wild tut könnte deine IO sein oder je nachdem wie du deinen Viewer aufgebaut hast ... Solltest auf jedenfall Sprites verwenden und keine Drawing Commands ( Es sei denn du hast Spass dich mit sync raten rumzuschlagen ... ;)

Thalius
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

>> Wegen Rucklen versuchs mal mit MPEG und schau obs da immernoch so wild tut könnte deine IO sein oder je nachdem wie du deinen Viewer aufgebaut hast

>>> Der 10 Minutenfilm braucht 1,92GB

genau das ist der punkt... die datenmenge pro sekunde, die du ziehen willst,
ist einfach viel zu hoch für den BUS, weil es unkomprimiert ist.

10min = 1,92GB
1min = 196,6MB
1sec = 3,2768MB

3.3MB pro sekunde isn fett heftiger stream, das muss das interface erst mal schaffen.
...kein wunder, dass das ruckelt...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten