reverse ssh

Führe auf dem Computer target, der hinter einer Firewall steht und dennoch per SSH erreichbar sein soll folgendes aus

ssh -f -N -R 0.0.0.0:19999:localhost:22 user@server

server muss erreichbar sein und in /etc/ssh/sshd_config folgende Option aktiviert haben

GatewayPorts yes

Jetzt kann man von beliebigen Clients auf den Computer target zugreifen per

ssh -p 19999 user@server

So kann man beispielsweise auch sshfs nutzen.

sshfs -p 19999 user@server:folder ~/sshfs

png2gif

Konvertiere einen Ordner voller .png in ein animiertes .gif

convert -delay 30 -loop 0 -layers Optimize *.png out.gif

Natürlich klappt das nicht nur für .png und alle anderen Optionen von Imagemagick lassen sich kombinieren.

convert -resize 256x256\> -delay 30 -loop 0 -layers Optimize *.svg out.gif

png2vp9

Konvertiere einen Ordner voller .png in ein zur Web-Wiedergabe geeignetes VP9, das von allen wichtigen Browsern unterstützt wird.

ffmpeg -f image2 -pattern_type glob -i "img*.png" -c:v libvpx-vp9 -pass 1  \
    -b:v 1000K -threads 1 -speed 4 -tile-columns 0 -frame-parallel 0 \
    -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0 -an -f null -


ffmpeg -f image2 -pattern_type glob -i "img*.png" -c:v libvpx-vp9 -pass 2 \
    -b:v 1000K -threads 1 -speed 0 -tile-columns 0 -frame-parallel 0 \
    -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0 -c:a libopus -b:a 64k \
    -f webm video.webm

Für maximale Kompatibilität kann als Fallback noch ein MP4 erstellt werden.

ffmpeg -an -f image2 -pattern_type glob -i "img*.png" -vcodec libx264 \
    -pix_fmt yuv420p -profile:v baseline -level 3 video.mp4

Einbettung erfolgt mit:

<video>
  <source src="path/to/video.webm" type="video/webm; codecs=vp9,vorbis">
  <source src="path/to/video.mp4" type="video/mp4">
</video>