mplayer, mpv

Wenn der mplayer mit dem Schalter -vf screenshot aufgerufen wird, produziert Tastendruck s Screenshots mit vierstellig durchnummerierten Namen shot0001.png (…).

Script screenshot

Der mplayer stürzt bei einigen Dateien ab, wenn ein Screenshot versucht wird. Ersatzweise hier ein Script für Screenshots mit mpv.

#!/usr/bin/tclsh

# file: screenshot.tcl
# Usage:
# screenshot.tcl (...) movie.mkv

proc pids {} {
  exec ps -u$::tcl_platform(user) -o pid=
}

variable movie
variable pid [apply {
    argv {
      variable movie
      foreach movie $argv {
        if {[file exists $movie]} break
      }
      if {![file exists $movie]} exit
      cd [file dirname [file normalize $movie]]
      exec mpv -mute -loop 0 $movie &
    }
  } $argv]
variable stills\
  [glob -nocomplain mpv-shot????.jpg]

proc check {} {
  variable pid
  variable stills
  variable movie
  foreach still\
    [glob -nocomplain mpv-shot????.jpg] {
    if {$still ni $stills} then {
      exec convert $still\
        [file rootname $movie].png
      file delete $still
    }
  }
  if {$pid ni [pids]} exit
  after 100 check
}

check
vwait forever

Aufruf: screenshot.tcl movie.mp4; der Player mpv startet; an gewünschter Stelle produziert Tastendruck s einen Screenshot im Format .jpg, Tatendruck q beendet mpv; das Script screenshot.tcl wandelt mit dem externen Programm ImageMagick convert um nach movie.png.

Stumm

mpv movie.mkv --mute
mplayer -nosound movie.mkv

Musik unterlegen

Manpage

7.1.2024