Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: Screencasts unter Haiku

Screencasts unter Haiku 7 Jahre 8 Monate her #4729

  • GUEST
  • OFFLINE
  • Platinum Boarder
  • Beiträge: 390
  • Karma: 0
Wer schon immer gerne Screencasts unter Haiku machen wollte, ihm allerdings die Software fehlte oder BeScreenCapture einfach zu unzuverlässig lief, der sollte mal mein screencast script anschauen.

Weitere Infos und Anweisungen gibts hier auf meinem Blog zusammen mit einer kleinern Demo: http://leszekllelectronics.blogspot.com/2010/02/screencasts-unter-haiku-mittels.html
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5568

  • prOSy
  • OFFLINE
  • Senior Boarder
  • Beiträge: 54
  • Punkte: 275
  • Karma: 0
Hat das aktuell mal jemand probiert?
Wäre das eine kleine yab-GUI wert? (ich würd's spontan 'shotcast' betiteln...)
Könnte man das mittels einer (ausreichend großen) RAM-Disk u.U. richtig flüssig hinbekommen?

Fragen über Fragen...
:unsure:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5570

  • lelldorin
  • OFFLINE
  • Administrator
  • Beiträge: 407
  • Dank erhalten: 5
  • Punkte: 39810
  • Karma: 2
  • Honar Medal Silver Honor Medal Bronze Honor Medal Gold
prOSy schrieb:
Hat das aktuell mal jemand probiert?
Wäre das eine kleine yab-GUI wert? (ich würd's spontan 'shotcast' betiteln...)
Könnte man das mittels einer (ausreichend großen) RAM-Disk u.U. richtig flüssig hinbekommen?

Fragen über Fragen...
:unsure:

Ich hatte selber schon angefangen damit, hab den Code hier herumliegen. Wollte mich damit mal beschäftigen, aber meine derzeitigen Projekte sind schon genug:
#!/boot/home/config/bin/yab
REM Requires yab v 1.5
REM Start of Creating 10.02.2010

FontSize = 10
Font$=FontFamily$+","+FontStyle$+","+str$(FontSize)

CheckBFSSize=0

ScreenInfo()

MainWindow()

MemorySize()

dim part$(1)

inloop = 1
while(inloop)
	msg$ = message$
	
	if (split(msg$, part$(), ":|") > 2) then
		PartOne$=part$(1)
		PartTwo$ = part$(2)
		PartThree$ = part$(3)
	fi
	if (split(msg$, part$(), ":|") > 3) then
		PartFour$ = part$(4)
	fi
	
		
	if (msg$ <> "") print msg$
	
	switch msg$
	
	//Cases
	
	case "HaikuScreencast:_QuitRequested|"
		WINDOW CLOSE "QtWindow"
	break
	
	
	
	


	default:

	end switch

	if(window count<1) inloop = false
	sleep 0.1
wend


SUB MainWindow()
	WINDOW OPEN screenWidth/2-250,screenHeight/2-200 to screenWidth/2+250,screenHeight/2+200, "HaikuScreencast", "yab Movie Creator"
		WINDOW SET "HaikuScreencast", "flags", "not-resizable, not-zoomable"
	
		SCREENSHOT 0, 1000 to 1000, 0, "bild.bmp"
	
END SUB

sub MemorySize()
	DiskFree$=System$("df /boot")
	n=0
	m=0
	dim SpaceFreeSplit$(1)
	n=split(DiskFree$, SpaceFreeSplit$(),"\n")
	for m= 1 to n+1
		DiskFree$=SpaceFreeSplit$(10)
		SpaceFreeCutLeft$=left$(DiskFree$, len(DiskFree$)-14)
		FreeSpace$=right$(SpaceFreeCutLeft$, len(SpaceFreeCutLeft$)-20)
		MaxSize= val(FreeSpace$)*1024
		break
	next m
end sub

sub ScreenInfo()
	screenWidth = peek("desktopwidth")
	screenHeight = peek("desktopheight")
end sub

sub IfExists(filename$)
     return not system("test -e "+filename$)
end sub

Ich glaub das ist auch schon der Code an dem ich rumgebastelt habe...
Letzte Änderung: 3 Jahre 2 Monate her von lelldorin.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5573

  • lelldorin
  • OFFLINE
  • Administrator
  • Beiträge: 407
  • Dank erhalten: 5
  • Punkte: 39810
  • Karma: 2
  • Honar Medal Silver Honor Medal Bronze Honor Medal Gold
Ihr seit gemein, da hab ich mir vorgenommen nicht mehr dran zu arbeiten, da ich andere Projekte endlich mal vorran treiben möchte und was passiert... gestern Nach musste ich mich noch ransetzen um etwas zu probieren und heute Abend hab ich am ScreencastMaker gearbeitet:

HaikuScreencastMaker,zip
#!/boot/home/config/bin/yab
REM Requires yab v 1.5
REM Start of Creating 10.02.2010

if (peek("isbound")) then
	ProgramFolder$ = peek$("directory")
elsea
	//ProgramFolder$ = system$("pwd")
	ProgramFolder$ = "/SharedBFS/Projekte/yab/HaikuScreencast"
endif

FontSize = 10
Font$=FontFamily$+","+FontStyle$+","+str$(FontSize)

CheckBFSSize=0

ScreenInfo()

MainWindow()

MemorySize()

dim part$(1)

inloop = 1
while(inloop)
	//keymsg$ = keyboard message$("HaikuScreencast")
	//print keymsg$
	//	
	//if(keymsg$<>"" and keymsg$<>old_keymsg$) then 
	//	old_keymsg$ = keymsg$
	//endif
	//
	//switch(keymsg$)
	//	case "f1"
	//	case "f2"
	//	case "f3"
	//		letter$=keymsg$
	//	break
	//	
	//	default:
	//	
	//	break
	//	
	//end switch


	msg$ = message$
	
	if (split(msg$, part$(), ":|") > 2) then
		PartOne$=part$(1)
		PartTwo$ = part$(2)
		PartThree$ = part$(3)
	fi
	if (split(msg$, part$(), ":|") > 3) then
		PartFour$ = part$(4)
	fi
	
		
	if (msg$ <> "") print msg$
	
	switch msg$
	
	//Cases
	
	case "ScreenCapture:_QuitRequested|"
		WINDOW CLOSE "QtWindow"
		break
	
	case "BT:CaptureStart|"
		WINDOW SET "ScreenCapture", "Minimize"
		WINDOW OPEN screenWidth-50, screenHeight-20 TO screenWidth-20,screenHeight-5, "ScreenCpaturePanel", ""
			WINDOW SET "ScreenCpaturePanel", "Look", "Modal"
			WINDOW SET "ScreenCpaturePanel", "Flags", "Not-Resizable"
			
			BUTTON IMAGE 5,0, "BT:pause", ProgramFolder$+"/data/gfx/pause2.gif", ProgramFolder$+"/data/gfx/pause1.gif", Disabled$, "ScreenCpaturePanel"
			BUTTON IMAGE 25,0, "BT:stop", ProgramFolder$+"/data/gfx/stop2.gif", ProgramFolder$+"/data/gfx/stop1.gif", Disabled$, "ScreenCpaturePanel"
		
			RunPause=0
			RunStop=0
			
			RunCapture=1
		break
	
	case "BT:pause|"
		if(RunPause=1)then
			RunPause=0
		elseif(RunPause=0)then
			RunPause=1
		endif
		break
		
	case "BT:stop|"
		WINDOW SET "ScreenCapture", "Minimize"
		RunStop=1
		RunCapture=0
		RunPause=0
		RunStop=0		
		break


	default:

	if(RunCapture=1)then
		if(RunStop=1)then
		else
			if(RunPause=1)then
			
			else
				wait 0.1
				SCREENSHOT 0, 0 to screenWidth, screenHeight, "Bild"
				shot=shot+1
				a$=str$(shot)
				if(len(a$)=1)then
					seperator$="000"
				elseif(len(a$)=2)then
					seperator$="00"
				elseif(len(a$)=3)then
					seperator$="0"
				else
				endif
				ErrCode = BITMAP SAVE "Bild", "/boot/home/test/test"+seperator$+""+str$(shot)+".png", "png"
				print ErrCode
			endif
		endif
	endif
	
	end switch

	
	if(window count<1) inloop = false
	sleep 0.1
wend



SUB MainWindow()
	WINDOW OPEN screenWidth/2-250,screenHeight/2-150 to screenWidth/2+250,screenHeight/2+150, "ScreenCapture", "BeSly Screen Capture"
		WINDOW SET "ScreenCapture", "flags", "not-resizable, not-zoomable"
		
		TABVIEW 0,0 TO 500,300, "ScreenCaptureTab", "bottom","ScreenCapture" 
			TABVIEW ADD "ScreenCaptureTab", "About"
				TEXTEDIT 5,5 TO 489,265, "TE:About", 1, "ScreenCaptureTab1"
			TABVIEW ADD "ScreenCaptureTab", "Screen Capture"
				BUTTON 5,140 TO 489,180, "BT:CaptureStart", "Start Capture", "ScreenCaptureTab2"
			TABVIEW ADD "ScreenCaptureTab", "Settings"
				TEXTCONTROL 5,20 TO 489,40, "TC:ffmpeg", "ffmpg: ", "", "ScreenCaptureTab3"
		
		//SCREENSHOT 0, 0 to screenWidth, screenHeight, "Bild"
		//wait 0.1
		//ErrCode = BITMAP SAVE "Bild", "/boot/home/test.png", "png"
		//print ErrCode
 	
END SUB


sub MemorySize()
	DiskFree$=System$("df /boot")
	n=0
	m=0
	dim SpaceFreeSplit$(1)
	n=split(DiskFree$, SpaceFreeSplit$(),"\n")
	for m= 1 to n+1
		DiskFree$=SpaceFreeSplit$(10)
		SpaceFreeCutLeft$=left$(DiskFree$, len(DiskFree$)-14)
		FreeSpace$=right$(SpaceFreeCutLeft$, len(SpaceFreeCutLeft$)-20)
		MaxSize= val(FreeSpace$)*1024
		
		print "DiskFree:"+DiskFree$
		print "Free Space:"+FreeSpace$
		print "MaxSize:"+str$(MaxSize)
		break
	next m
end sub

sub ScreenInfo()
	screenWidth = peek("desktopwidth")
	screenHeight = peek("desktopheight")
end sub

sub IfExists(filename$)
     return not system("test -e "+filename$)
end sub
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5574

  • prOSy
  • OFFLINE
  • Senior Boarder
  • Beiträge: 54
  • Punkte: 275
  • Karma: 0
Hallo,
Ihr seit gemein, da hab ich mir vorgenommen nicht mehr dran zu arbeiten, da ich andere Projekte endlich mal vorran treiben möchte und was passiert... gestern Nach musste ich mich noch ransetzen um etwas zu probieren und heute Abend hab ich am ScreencastMaker gearbeitet:

@lelldorin: Oje, ich wollte keinen zu irgendetwas drängen :blink: ...
Aber es ist nett, daß Du Dein "altes" Projekt vorgekramt hast und auch hier zur Verfügung stellst!
Vielen Dank für Deine Mühe!

Gruß,
prOSy
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5575

  • lelldorin
  • OFFLINE
  • Administrator
  • Beiträge: 407
  • Dank erhalten: 5
  • Punkte: 39810
  • Karma: 2
  • Honar Medal Silver Honor Medal Bronze Honor Medal Gold
Egal, jetzt hab ich Blut geleckt :P

Hier die neueste Version. Mag vielleicht jemand bei sich ffmpeg installieren und versuchen ob das Video erstellt wird?



www.lelldorin.de/download/HaikuScreencastMaker.zip
Letzte Änderung: 3 Jahre 2 Monate her von lelldorin.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5576

  • prOSy
  • OFFLINE
  • Senior Boarder
  • Beiträge: 54
  • Punkte: 275
  • Karma: 0
Moin,

ich probiere das sehr gerne aus!
Leider schaffe ich das (beruflich bedingt) aber wahrscheinlich erst am Sonntag...
Aber Rückmeldung erfolgt dann hier, versprochen.

Sollte es am besten auf der A4.1 getestet werden oder auf der neuesten NIGHTLY?
Ich probiere beides aus.

Grüße
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5577

  • lelldorin
  • OFFLINE
  • Administrator
  • Beiträge: 407
  • Dank erhalten: 5
  • Punkte: 39810
  • Karma: 2
  • Honar Medal Silver Honor Medal Bronze Honor Medal Gold
prOSy schrieb:
Moin,

ich probiere das sehr gerne aus!
Leider schaffe ich das (beruflich bedingt) aber wahrscheinlich erst am Sonntag...
Aber Rückmeldung erfolgt dann hier, versprochen.

Sollte es am besten auf der A4.1 getestet werden oder auf der neuesten NIGHTLY?
Ich probiere beides aus.

Grüße

Nun, vom yab Code aus ist es egal welche Version Du nimmst, er auch nicht gebunden. Eine funktionierende Version von ffmpeg hab ich bisher nur für gcc4 gefunden, daher kann es sein das man es auf der 4.1 testen kann, eventuell muss man auch eine gcc4 version nutzen. Oder jemand weiss eine andere Quelle für ffmepg welches auf aktuellen builds läuft.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Screencasts unter Haiku 3 Jahre 2 Monate her #5578

  • lelldorin
  • OFFLINE
  • Administrator
  • Beiträge: 407
  • Dank erhalten: 5
  • Punkte: 39810
  • Karma: 2
  • Honar Medal Silver Honor Medal Bronze Honor Medal Gold
So habs auf einer nightly ausprobiert und es hat funktioniert. Musste nur in einer Zeile die anzahl der Nummern hinter dem Screenshot Dateinamen ändern. ffmpeg war bereits vorhanden oder hatte ich mal über HaikuDepot nachinstalliert.

Mal sehen was ich da noch zu einbauen kann :-)

Ein paar Idee hab ich schon...

1. Speichern der Settings (logisch)
2. Anzeige der Anzahl von Bildern die maximal im Ausgangsordner angezeigt werden können (In Abhängigkeit der Videodateigröße).
3. Überprüfung, vorhandensei von ffmpeg
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.465 Sekunden
Powered by Kunena Forum ::