Teamspeak und Skype unterbrechen den Sound

Kennen Sie das ? Sobald Teamspeak läuft, sind alle anderen Sounds im Pulseaudio gemutet.

Ursache ist eine Priorisierung der Audioquellen damit Sprachtools immer zu hören sind.
Teamspeak markiert seinen Datenstrom als „Voice“ Klasse, MPlayer dagegen als „Music“.

Das Verhalten kann man durch eine kleine Einstellung in der Datei /etc/pulse/default.pa ändern. Dort kommentiert man den Eintrag „load-module module-role-cork“ einfach aus.

Anschliessend muß man Pulseaudio neu starten und da wird es schwierig.

Erstmal muß man alle Audioanwendungen beenden, sonst endet das böse. Danach:

# pulseaudio -k
# pulseaudio –start

Danach dauert es etwas bis Pulseaudio wieder bereit ist und das Problem ist weg.

FFMPEG – Desktopsessions direkt encoden

Jeder Gamer kennt das Problem, man möchte seine Gamesession aufzeichnen und später bei Youtube hochladen. Unter Windows gibt es einige gute Tools das zu tun, z.b. Fraps. Unter Fedora Linux ist das noch einfacher, da im GNOME bereits der Desktop-Recorder integriert ist, sollte man jedenfalls meinen.

Wenn es funktionieren würde, gäbe diesen Beitrag wohl nicht, also was brauchen wir tatsächlich alles :

1. Pulse Audio
2. FFMpeg

Pulse Audio ist bereits drauf, sonst könnte man nichts hören, wichtig wäre aber für Pulse noch das Tool „pactl“ aus dem „pulseaudio-utils“ RPM . Damit ermittelt man zunächst mal den sogenannten Sink auf dem alles zusammen gemischt wird:

# pactl list sinks
Sink #0
    State: RUNNING
    Name: alsa_output.pci-0000_00_14.2.analog-stereo
    Description: Internes Audio Analog Stereo
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 8
    Mute: no
    Volume: front-left: 95197 / 145% / 9,73 dB,   front-right: 95197 / 145% / 9,73 dB
            balance 0,00
    Base Volume: 65536 / 100% / 0,00 dB
    Monitor Source: alsa_output.pci-0000_00_14.2.analog-stereo.monitor
    Latency: 25933 usec, configured 26000 usec
    Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
    Properties:
        alsa.resolution_bits = „16“
        device.api = „alsa“
        device.class = „sound“
        alsa.class = „generic“
        alsa.subclass = „generic-mix“
        alsa.name = „ALC887-VD Analog“
        alsa.id = „ALC887-VD Analog“
        alsa.subdevice = „0“
        alsa.subdevice_name = „subdevice #0“
        alsa.device = „0“
        alsa.card = „0“
        alsa.card_name = „HDA ATI SB“
        alsa.long_card_name = „HDA ATI SB at 0xfe300000 irq 16“
        alsa.driver_name = „snd_hda_intel“
        device.bus_path = „pci-0000:00:14.2“
        sysfs.path = „/devices/pci0000:00/0000:00:14.2/sound/card0“
        device.bus = „pci“
        device.vendor.id = „1002“
        device.vendor.name = „Advanced Micro Devices, Inc. [AMD/ATI]“
        device.product.id = „4383“
        device.product.name = „SBx00 Azalia (Intel HDA)“
        device.form_factor = „internal“
        device.string = „front:0“
        device.buffering.buffer_size = „352768“
        device.buffering.fragment_size = „176384“
        device.access_mode = „mmap+timer“
        device.profile.name = „analog-stereo“
        device.profile.description = „Analog Stereo“
        device.description = „Internes Audio Analog Stereo“
        alsa.mixer_name = „Realtek ALC887-VD“
        alsa.components = „HDA:10ec0887,10438444,00100302“
        module-udev-detect.discovered = „1“
        device.icon_name = „audio-card-pci“
    Profile:
        analog-output-lineout: Line Out (priority: 9900, available)
        analog-output-headphones: Analoge Kopfhörer (priority: 9000, not available)
    Aktive Profile: analog-output-lineout
    Formats:
        pcm

Das Rote ist nicht der benutzbare Name, immer die Monitor Quelle nehmen. Das geben wir direkt im FFMpeg Befehl als Audioquellenangabe an:

# ffmpeg -f x11grab -s 1440×900 -i :0.0 -r 25 -f pulse -i alsa_output.pci-0000_00_14.2.analog-stereo.monitor -c:v libx264 -preset slow -pix_fmt yuv420p -s 1440×900 -strict experimental -acodec aac -ab 128000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f avi testvideo.avi

Diese Bashzeile müssen Sie nur entsprechend an Ihre Bildschirmauflösung anpassen und natürlich Ihr passendes Sink ermitteln. Der Rest ist an sich klar :

– X11grab: aktiviert den Screengrabber
– Audioinput von Pulse Audio
– h264 Codec fürs Video
– das Preset Slow sorgt für gute Qualität
– AAC mit 128kbit für den Audiocodec
– und Stereosoundkanäle
und am Ende noch der Dateinamen und das Dateiformat. Das war es schon und im Gegensatz zum GNOME-Screenrecorder kommt dabei auch was brauchbares aus. Das Ergebnis kann sofort im GNOME-Mplayer angesehen werden.

Hier ein paar Tips:

Die zweite Angabe von „-s 1440×900“ ist die Zielgröße fürs Video. Weicht diese vom ersten Wert ab, wird automatisch passend skaliert.

FFMpeg nimmt im Beispiel oben bei einer Mehrmonitorlösung den linken Monitor.

In einem früheren Beitrag habe ich bereits auf die Möglichkeiten des Autocroping von FFMpeg hingewiesen. Wenn man also von einem zweiten Monitor capturen möchte, muß man die Gesamtgröße des Bildschirms angeben und nicht nur die vom linken Monitor. Dann benutzt man den Cropfilter und schneidet den linken Monitor einfach weg.

In einem anderen Beitrag wurde gezeigt, wie man sich mit xwininfo anzeigen lassen kann, wie die Maße des Bildschirms sind.

FFMpeg kann gleichzeitig zwei oder mehr Audioquellen in den Film mit einbinden. Damit kann man sich z.b. auch eine Audiokommentarspur ins Video einfügen, wenn man das Micro mitschneidet. Meistens ist die PC-Hardware aber so lausig, daß man den Ton noch mal nachbearbeiten muß und vor allem soll das Video ja am Ende vermutlich noch geschnitten werden. Sinnvoll wäre es daher, den Ton mit Audacity aufzunehmen und dann gleich das Rauschen zu entfernen. Ansonsten muß man den Ton erst aus dem Video abspalten und dann am Ende das Video sowieso neu mischen, was beim Schneiden ohnehin passiert. Das besondere an FFMpeg ist nun, daß es die beiden Tonspuren auch gleich live zu einer Tonspur zusammen mischen kann. Wenn dann aber Geräusche oder Musik im Video vorkommen, wird das mit den Scheiden dann nichts mehr. Überlegen Sie also vorher was Sie wollen.

Eurograb Angry Birds Friends

Bevor ich ein Tablet hatte, kannte ich Angry Birds nur aus Videos. Das Spielprinzip war einfach, aber herausfordernd. Das Prinzip ist so verbreitet, daß es tausende Spiele gibt, die es umsetzen, aber keins ist so gut gemacht wie Angry Birds.

Die Omnipräsenz als Browser-, Handy- und Tabletspiel machen es fast unmöglich ihm zu entgehen. Ein Tablet ist dabei optimal geeignet um Angry Birds zu spielen, also spielte ich. Erst alle Level durchspielen, egal wie. Dann, alle 3 Sterne bekommen, nicht egal wie, so einfach ist es nicht. Aber Hartnäckigkeit, Zeit und logisches Denken brachten den Erfolg. Immer schneller, immer einfacher wurden die Level. Einem Zwang gleich wurden alle neuen Erweiterungen und alle Ableger gespielt. Einer Sucht gleich flogen die Vögel, platzten die Schweine und fielen die Mauern aus Stein in sich zusammen. Angry Birds wurde zum Ende jeden Tages.

Dann kam Angry Birds Friends und änderte die Welt. Zuerst mit Facebookzwangsanbindung, dann direkt im Tablet spielbar gegen die ganze Welt. Die Süchtigen konnten sich endlich messen und Sie taten es.

Das Ergebnis

SC20141117-222310

SC20141124-085730

SC20141215-084743

SC20141229-084320

 

Vier Weltligachampiontitel später und Null Euro ärmer, war mir klar, daß Angry Birds von Süchtigen, aber oft  nicht so talentierten Spielern dominiert wird. Alle Merkmale eines Freemium Suchtspiel werden in Angry Birds Friends extrem deutlich, wenn man es spielt.

1. Jeden Tag bekommt man freie BirdCoins, um sich damit Erweiterungen zu kaufen. Im Jargon „GnadenCoins“ genannt.

2. Jedesmal, wenn man in der Liga von einem Spieler überboten wird, bekommt man eine Benachrichtigung

3. Für BirdCoins können Gegenstände und Power-Ups gekauft werden, die das Spiel einfacher machen.

4. einige Level sind ohne Power-Ups nicht als Bester schaffbar, auch nicht mit Talent.

Der letzte Umstand sorgt dafür, daß die GnadenCoins aufgebraucht werden. Dafür müssen neue gekauft werden, gegen echtes Geld versteht sich. Spieler, die das nicht machen, schaffen es nur bis in die unteren Ligen, durch Zufall, der bei Angry Birds sehr dominant in das Ergebnis eingreift, vielleicht auch etwas höher, aber sicher nicht an die Spitze, die nur mit Power-Ups erreichbar ist.

Das beste Beispiel für diese Behauptung ist ein Eislevel, bei dem das beste Ergebnis mit einer Bombe erreicht werden kann, die am Ende des Feldes liegt. Mit nur einem „Vogel“ kann der gesamte Level geschafft und die meisten Punkte erreicht werden, nur daß kein normaler Vogel überhaupt soweit fliegt. Mit einem Power-Up geht das.

Es handelt sich also glasklar um ein Pay-To-Win Spiel. Geködert durch einen leichten Einstieg, viel Bum, Peng, Krach und Hurra hier und da und eine lange Ära von ähnlichen Spielen, fangen die Leute an, spielen eine Weile, kaufen ab und zu etwas und hören wieder auf. Die Süchtigen dagegen bleiben dabei und finanzieren die gesamte Firma. Hier geht es nicht im ein paar Euro im Monat, um ganz oben mit zuspielen sind 80 Euro im Monat vermutlich die unterste Grenze. Diese Grenze zu testen, habe ich nicht gewagt. Mein Gerechtigkeitsinn und das Wissen, ausgenutzt zu werden, waren dagegen. Ich zog mich zurück.

Dieses Spiel fällt meiner Meinung nach unter das Glückspielgesetz und dürfte für Kinder und Süchtige nicht spielbar sein.

Würde Rovia entsprechend reguliert, wäre die Firma wohl alsbald Pleite.

Dabei könnte das Prinzip recht einfach auf ein Abosystem umgestellt werden, bei dem es unnötig ist, dauerhaft nachzukaufen. Ein Abomodell verhindert das Ausnehmen von Süchtigen und liefert adequate Einnahmekonstanz. Damit wäre beiden Seiten Genüge getan. Am meisten würden die Spieler profitieren, die am meisten Talent haben. Eine echte Weltliga wäre die Folge, was zu begrüßen wäre.

Wer mehr über die Gefahren wissen möchte, kann ich das gern bei South Park ansehen : South Park s18e06 – Freemium isnt free