Mein Screen Recording Script
Ich wurde schon paar mal darauf angesprochen. Ich hab das ganze jetzt auf github hochgeladen.Man braucht dazu ffmpeg und eine Linux Box. Das ganze ist sehr einfach gemacht. Den Konfigurations Bereich so anpassen wie ihr es braucht.
z.b Audio Input bei mir steht das: #Audio input – ist bei mir der Alsa device vom USB Micro von meinem Kopfhoerer
i="-i hw:1,0"
Das könnt ihr ganz einfach anpassen z.b für pulsaudio.
Pulsaudio ist der Standard bei der Ubuntu Linux Box über alsa.
# Audio input – z.B pulsaudio für die meisten Ubuntu Users
i="-i pulse"
Das recording Script braucht 1 Parameter damit es läuft. Die Script Hilfe kann man so aufrufen:
./recording --help
Das ganze ist auf HD 720 und HD 1080 spezialisiert und andere Formate unterstützt es nicht!
Auslesen der Revision Info vom SVN mit Regular Expression
Wenn ich im Verzeichnis vom Projekt stehe und ein svn info mache bekomme ich in meinem Fall diesen Output:
$ svn info
Path: .
URL: https://svn.blender.org/svnroot/bf-blender/trunk/blender
Repository Root: https://svn.blender.org/svnroot/bf-blender
Repository UUID: 954f8c5b-7b00-dc11-b283-0030488c597c
Revision: 34579
Node Kind: directory
Schedule: normal
Last Changed Author: n.a
Last Changed Rev: 34579
Last Changed Date: 2011-01-31 12:57:37 +0100 (Mon, 31 Jan 2011)
Wie kann ich jetzt die Zeile 10 mit der Last Revision Nummer auslesen? Der Grund ist ich brauche die Nummer in meinem Bash Building Script, wo ich dann in einem Cron Job laufen lassen möchte.
Bemerkung: Das ist eine “quick and dirty” Lösung von mir.
Step 01: Zeile und String Selektieren mit grep
svn info | grep 'Last Changed Rev: '
Step 02: Umlenken und wider mit grep nur die Nummerischen Zeichen Selektieren
| grep -o '[0123456789]'
Step 03: Umlenken und das ganze mit echo in der Bash zeigen ohne withespace
Ich habe mir heute eine kleine Umgebung eingerichtet. Damit ich ein bisschen mit AS3 unter Linux programmieren kann. Ich habe mir dazu das Flex SDK von Adobe heruntergeladen. Das ganze ist ein Open-Source Framework wo man mit der Sprache MXML und AS3 Flash Programme programmieren kann. Der Aufbau MXML kann man grob mit XAML vergleichen wo im .NET im WPF Namespace zu finden ist. Die MXML Markup-Sprache gab es schon ein paar Jahre vor .NET 3.0 (Einführung WPF). Das ganze wurde noch von der Firma Macromedia entwickelt. Als Adobe die Firma Macromedia geschluckt hatte, wurde zu diesem Zeitpunkt Flex 2 verkauft. Bald darauf wurde die Flex SDK als Open Source Projekt angeboten von der Firma Adobe. Das coole an der ganzen Sache ist das der MXML Compiler auch nur mit AS3 Klassen arbeiten kann.
Da die Tools für Flash Programmierung unter Linux sehr beschränkt vorhanden sind, ist das Flex SDK eine gute alternative.
Ich hab mir dazu ein kleines Script gemacht um die Actionscript Klassen zu kompilieren mit der SDK.
Die AS3 Klassen könnt ihr hier finden: Flex4.tar. Das Resultat ist eine einfache Animation von einem Pfeil. Die Trig Formel in den AS3 Source Files könnt Ihr hier finden auf meinem Blog unter TFA
In meinem Beispiel werden wir in ein *.mp4 (h264) Video File schreiben. Ich habe dazu ein sehr kleines und einfaches Bash-Script geschrieben. Wo ich immer verwende um meine Meta-Daten zu schreiben aber dazu später.
Wie schreibe ich die Meta-Daten z.B für den Titel?
Durch den Parameter -metadata mit dem Schlüsselwort title können wir den Titel für das Video festlegen.Wir kopieren zudem vcodec und acodec, dadurch erstellen wir eine Kopie vom Video File mit Sound Unterstützung.
Ich verwende immer mein kleines bash-Script um diese Arbeit durchzuführen.
#!/bin/bash
echo "##########################################"
echo "##########################################"
echo "# #"
echo "# Video Meta writer v 0.1 #"
echo "# glenn #"
echo "# www.starwolf.ch #"
echo "# 07.April.2010 #"
echo "# #"
echo "##########################################"
echo "##########################################"
################################################
# Configuration
################################################
################################################
#Video rec Name
rec="untitled.mp4"
#Video final with metadata
recFm="101-blender-screen.mp4"
################################################
# Meta-Data
################################################
################################################
#Video Meta Data
## title
title="101 Blender - screen"
## author
author="glenn"
## copyright
copyright="all@ glenn"
## comment
comment="101 blender - screen - basci video for blender - lang is german - we all coming from the stars - www.starwolf.ch - blog.starwolf.ch"
## year
year="2010"
ffmpeg -i $rec -vcodec copy -acodec copy -metadata title="$title" -metadata comment="$comment" -metadata author="$author" -metadata year="$year" -metadata copyright="$copyright" $recFm
Wie Ihr sehen könnt muss man den -metadata Paramter einfach wiederholen mit einem anderen Schlüsselwort.