April 21st, 2013

nepal

mplayer auto output

Дорогие друзья! Наболело!

Сначала я смотрел кино на проекторе, и мне приходилось передвигать окно терминала, из которого я запускаю mplayer, на проектор. Иначе mplayer запускается на full screen там же, где терминал.

Теперь я смотрю кино через ресивер на большом телевизоре, звук и картинка идёт HDMI, причём иногда звук многоканальный в формате AC3 или даже DTS, декодер ресивера его декодирует самостоятельно. Нужно задавать всякие опции, я их всё время забываю.

Сегодня я решил обе проблемы -- и с передвиганием окна, и с многочисленными опциями -- одним маленьким скриптом, который положил в ~/bin/mplayer:

#!/bin/bash
if grep -qw connected /sys/class/drm/card0-HDMI-A-1/status; then
	# HDMI
	exec /usr/bin/mplayer -geometry +1400 -ac hwac3,hwdts, -ao alsa:device=hdmi "$@"
else
	exec /usr/bin/mplayer "$@"
fi

Если нужны какие-то пояснения -- спрашивайте, я прокомментирую. Если есть альтернативные решения этой проблемы -- дайте знать. Switch to Mac не предлагайте, пожалуйста.

Update1: -geometry +1400 -- это если телевизор "справа" от основного экрана, при этом 1400 -- это цифра в пикселях, которая больше ширины основного экрана. Короче, вам надо попасть куда-нибудь во второй экран, не очень важно, куда, потому что всё равно mplayer развернётся в full screen на том экране, на который он попал.