Tuesday, December 29, 2015

Update on Minetest.

btw. My twitch.tv page is at   http://www.twitch.tv//Bikemare/profile.

I have had a lot of success so far after about eight hours over three days.  It was the holiday weekend so I had time.  I'm still using ffmpeg and sndiod.  I'll try and keep an outline to the parts. 

Serving stream to Twitch.tv
Parts:

1. video
2. sound
3. webcam
4. streaming program
5. authentication and protocol for twitch

Video:
The video pieces are the program (Minetest) and my webcam picture.  I chose to stream my desktop and just send that, though I could just try and send the individual desktop window graphics.  Minetest can grab the whole screen and I'd have to figure out how to "overlay," my webcam picture.  With all the window outlines and title bars, it looks unprofessional.  I'll have to work on this.

Sound: on 12/29/15 Sound is still a problem.  It looks like I might be able to bypass the omnipresent sndiod and record directly from the uaudio web cam.  I did that with ffmpeg and the volume is very low which is a common problem on OpenBSD.
I could get a mic for the /dev/audio0, but I don't know how I'll use that same device for the game.

Saturday, December 26, 2015

I am a free (as in freedom, not beer) software user.  The BSD operating system that I use which is most appealing to me is OpenBSD.  The system is designed to be composed of straightforward software for each function like sound, video, daemons, system-wide settings and others.  It all fits nicely into the Unix-like environment.

An open source project that I am particularly passionate about is the game Minetest which is a, "sandbox game."  I use, modify, and have hosted an internet-wide server to build stuff.  And I want to share the game with other people.

To share Minetest I want to stream to a gaming website like youtube or twitch.tv.  I am looking for audio from the program as well as my voice, the video of the program and video of me too.  Maybe banners and soundtrack, but that's not essential.

I am choosing to use ffmpeg and sndiod to do this, although I am open to knew projects.  So I am documenting what I do with OpenBSD, openbsd's sndiod and ffmpeg because I can.

Right now the final issue I am having is to open the audio device via sndiod(1) and ffmpeg.  From what I have read in sndio manual pages, sndio can be an intermediary between software and the device so that one program can record the audio of another with both using the same hardware device.  My understanding, or hypothesis is that this means I can use ffmpeg to record sound from sndio or minetest (or my music player daemon.)   If not I have a webcam or my android phone to stream from, in which case I need to configure these devices (sndiod sub-devices?)

So now I am off to recompile ffmpeg on my OpenBSD to make sure sndio is supported because right now, it can never open the device I point it to while using the plugin.