Capture to avi or mp4 ?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Capture to avi or mp4 ?

Beitrag von udg »

Eine Frage:

Ich habe mir ein Tool programmiert, in dass ich mir 3ds 3D Modelle laden kann. Diese werden automatisch rotiert und wenn ich zusätzlich noch einen Sound lade, acted das 3D Objekt zur Musik.

Ich möchte dieses Programm noch um viele Optionen erweitern.

Der Hauptgrund:
Logos von Plattenlabels laden die dann später in einerm Musikvideo landen.

Derzeit capture ich immer mit OBS Studio. Es wäre aber obermäßig, wenn ich mit PureBasic auch das was ich gerade abspiele mit klick auf einen Button direkt capturen könnte.

Gibt es eine Möglichkeit dies umzusetzen? Mir ist bekannt, dass "Peace" vor vielen Jahren einmal den Ghostwriter rausgebracht hat. Muss PB v 3.? gewesen sein. Hier konnte man eine Art Szenedemo erstellen und parallel dazu hat der Ghostwriter das ganze aufgezeichnet als eine Moviedatei.

Leider ist "Peace" schon lang raus und weg.

Aus diesem grund meine Frage: Hat jemand eine Idee wie ich das recording direkt in mein programm integrieren kann?

Das Programm braucht und nutzt Direct X

Grüße

BILD:

Bild
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: Capture to avi or mp4 ?

Beitrag von Mijikai »

Der Backbufffer ist mit DX normalerweise auslesbar und kann zum Aufnehmen verwendet werden.
DirectShow ist auch eine Möglichkeit.

Evtl. gibt es auch Commandline-Commands zum ScreeRecorder in der Windows 10 "Game Bar".

DX/OpenGl recording:
https://www.codeproject.com/Articles/15 ... Animations
Benutzeravatar
mpz
Beiträge: 497
Registriert: 14.06.2005 15:53
Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
Wohnort: Berlin, Tempelhof

Re: Capture to avi or mp4 ?

Beitrag von mpz »

Hi,

es fiel mir gerade auf das das alles meine MP3D Engine kann, 3Ds File laden = ja, Musik laden = ja und AVI Datei Speicher ja. Das einzige was ich nicht weiss ob der Sound mitgespeichert wird. ich glaube das ging nicht, bin aber nicht sicher. Ist aber nichts was nicht lösbar ist..

https://www.purebasic.fr/english/viewto ... hilit=mp3d

Code: Alles auswählen

MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels") ; Setzt einen Fensternamen

MP_SetAntialiasing( 1 )

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_LoadMesh("testcube.3ds")

MP_PositionEntity (Mesh,0,0,3) ; Position des Würfels

Movie = MP_CreateMovie ("c:\temp\filmtest.avi",60)
While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
  
  

    MP_FrameToMovie (  Movie, Frame )
    Frame + 1
    
    If Frame = 500 ; End after 500 frames
      Break
    EndIf 
    
  
  
    MP_DrawText(0, 0, "FPS = " + Str(MP_FPS()))
  
    MP_TurnEntity (Mesh,0.1,0.1,0.1) ; dreh den Würfel
    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar
    

    
Wend


MessageRequester("Info","Number of Video Frames created: "+Str(MP_MovieNumFrames (  Movie ))+Chr(13))

MP_CloseMovie(  Movie )
Working on - MP3D Engine -
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Capture to avi or mp4 ?

Beitrag von udg »

Sorry für die späte Rückmeldung.

Ich habe gerade versucht dein Beispiel einzubauen. Jedoch wird kein avifile geschrieben.

Code:

Code: Alles auswählen

MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
SetWindowTitle(0, "3D Darstellung eine Würfels") ; Setzt einen Fensternamen

MP_SetAntialiasing( 1 )

camera=MP_CreateCamera() ; Kamera erstellen

light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_LoadMesh("MetalHeadzLogo.3ds")

MP_PositionEntity (Mesh,0,0,3) ; Position des Würfels

Movie = MP_CreateMovie ("filmtest.avi",60)
While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
  
  

    MP_FrameToMovie (  Movie, Frame )
    Frame + 1
    
    If Frame = 500 ; End after 500 frames
      Break
    EndIf 
    
  
  
    MP_DrawText(0, 0, "FPS = " + Str(MP_FPS()))
  
    MP_TurnEntity (Mesh,0.1,0.1,0.1) ; dreh den Würfel
    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar
    

    
Wend


MessageRequester("Info","Number of Video Frames created: "+Str(MP_MovieNumFrames (  Movie ))+Chr(13))

MP_CloseMovie(  Movie )
Bild
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Capture to avi or mp4 ?

Beitrag von udg »

kann es sein, dass es unter Windows 11 nicht funzlt?
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Antworten