LUA script voor MPV player maken

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • pmeter
  • Registratie: December 2001
  • Laatst online: 18-09 21:51
Ik wil op mijn HTPC (Ubuntu) de videospeler MPV (fork van Mplayer) gaan gebruiken. Die ondersteunt LUA-scripts met allerlei leuke functies. Nu wil ik zelf een script leren schrijven. Wat ik uiteindelijk wil is een LUA script maken dat deinterlacing automatisch aanzet bij files die eindigen op *.ts. Ik dacht daarbij aan een conditional auto-profile.

Maar ik loop tegen een probleem aan. Alle scripts die ik download en in de 'scripts' directory zet, worden keurig automatisch uitgevoerd. Maar als daar ik zelf een 'script' neerzet met als enige onderdeel bijvoorbeeld
code:
1
deinterlace=yes

of als test
code:
1
hue=-500

dan werkt dat niet. Er verandert helemaal niets.

Vraag: moet ik iets aan het script toevoegen om een video instelling te wijzigen?

Ik weet dat VLC automatisch deinterlacing doet. Maar MPV lijkt wat ongevoeliger voor storingen in een Ziggo transportstream, afkomstig van een opname van een tv tuner in mijn HTPC.

[ Voor 7% gewijzigd door pmeter op 14-11-2020 15:37 ]

Beste antwoord (via pmeter op 15-11-2020 18:34)


  • Raynman
  • Registratie: Augustus 2004
  • Nu online
Dat zijn geen (Lua) scripts, maar gewoon opties voor in mpv.conf. Alleen de waarde van de optie profile-cond wordt als Lua-expressie behandeld.

Die legacy conditional profiles zouden nog gewoon moeten werken, maar als je die "extension.mkv" naar een condition nieuwe stijl wil vertalen, zou dat zoiets kunnen zijn:
code:
1
profile-cond=filename:match("%.mkv$")

Dit gebruikt een pattern match (Lua string functie/methode) op de filename (mpv property).

Alle reacties


Acties:
  • 0 Henk 'm!

  • thunder7
  • Registratie: Januari 2003
  • Nu online

thunder7

houten vaas/schaal nodig?

Is die ene regel de volledige inhoud van je script? Als ik verder lees zie ik een voorbeeld:

code:
1
2
3
[extension.mkv]
profile-desc="profile for .mkv files"
vf=vflip


waarbij de 1e regel dus de conditie is. Als er in een script geen conditie staat, weet ik niet wat er zou moeten gebeuren?

hout-nerd - www.hetmooistehout.nl of www.houtenschalen.nl


Acties:
  • 0 Henk 'm!

  • pmeter
  • Registratie: December 2001
  • Laatst online: 18-09 21:51
Dat voorbeeld ken ik. Omdat dat voorbeeld niet werkte, heb ik het versimpeld tot een script met één regel, in de verwachting dat wat daarin staat altijd gebeurt, maar dat gebeurt niet.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Nu online
Dat zijn geen (Lua) scripts, maar gewoon opties voor in mpv.conf. Alleen de waarde van de optie profile-cond wordt als Lua-expressie behandeld.

Die legacy conditional profiles zouden nog gewoon moeten werken, maar als je die "extension.mkv" naar een condition nieuwe stijl wil vertalen, zou dat zoiets kunnen zijn:
code:
1
profile-cond=filename:match("%.mkv$")

Dit gebruikt een pattern match (Lua string functie/methode) op de filename (mpv property).

Acties:
  • 0 Henk 'm!

  • pmeter
  • Registratie: December 2001
  • Laatst online: 18-09 21:51
Dank je wel Raynman. In plaats van de regels in een .lua file te plaatsen in de scripts directory, heb ik de regels in de mpv.conf geplaatst. Nu werkt het wel. Ik gebruik nu de regels:

code:
1
2
[extension.ts]
deinterlace=yes