DVD játékos halkítása
2. probléma
A pc-s cd-dvd meghajtók ki tudja miért de szeretik full fordulaton pörgetni a korongokat úgy audio cd mind dvd lejátszása közben. Ez egy HTPC- esetén egyáltalán nem kívánatos, mivel meglehetős zajjal jár.
Lelki szemeimmel látom, ahogy a linuxos guruk felhördülnek, valahogy így: "dehát a hdparm erre is jó!". Természetesen igazuk van, de egy HTPC-hez meglehetősen ritkán csatlakozik billenyűzet, hogy egy terminálba beirkáljuk. Meg amúgy is. Filmet akarok nézni, nem a terminált piszkálni.
Az a gond, hogy ha beteszünk egy lemezt és mondjuk a hdparm -E 8 /dev/sr0 paranccsal lelassítjuk ez csak addig tart amíg a lemezt ki nem cseréljük. Ekkor újra fullon pörög az új lemez.
Több lehetőséget is végig próbáltam, a sikertelen kísérletek:
1. A távirányító egyik gombjára beprogramozni : XBMC nem szereti+macerás
2. Következett a halevt. Ez nekem egyáltalán nem működött.
3. ezt már nem tudom mi volt, valami olyasmi mint a halevt
Hirdetés
és végül sok próbálkozás és nem kevesebb guglizás után megtaláltam a nekem legmegfelelőbb megoldást egy python script képében:
#!/usr/bin/python
import gobject
import dbus
import os
from dbus.mainloop.glib import DBusGMainLoop
# The identifier of your CD/DVD drive as used by DBUS. Find it by running:
# dbus-monitor --system
# Then ejecting the CD tray.
cd_dbus_path="/org/freedesktop/Hal/devices/storage_model_DVD_ROM_DDU1615"
def cd_tray_event_handler(x,y):
os.system('hdparm -E 8 /dev/scd0')
# Set CD speed at startup
cd_tray_event_handler(0,0)
DBusGMainLoop(set_as_default=True)
system_bus = dbus.SystemBus()
system_bus.add_signal_receiver(cd_tray_event_handler, path=cd_dbus_path)
loop = gobject.MainLoop()
loop.run()
Elsőre nem fog működni, de mindjárt elárulom a megoldást :D
EZT:
def cd_tray_event_handler(x,y):
os.system('hdparm -E 8 /dev/scd0')
Cseréld ki erre:
def cd_tray_event_handler(*args,**kwargs):
os.system('hdparm -E4 /dev/scd0')
A -E4 -nél a szám helyére írhatod a kívánt sebességet, pl.: 1=1x, 4=4x, 8=8x stb...
Az egészet mentsd el az usr/local/bin könyvtárba mondjuk dvdspeed.py néven.
Már csak egyetlen dolog maradt: a /etc/rc.local fájlba az exit 0 sor elé beszúrni ezt
sudo python /usr/local/bin/dvdspeed.py
Ezután sudo reboot
Szerk: A dvd menü alatt még így is pörgetheti a lemezt, de lejátszáskor már nem...
A cikk még nem ért véget, kérlek, lapozz!



