based on ffmpeg, alsa and ncurses