Kann ich im Terminalemulator Bilder sehen und Filme ansehen?


13

Kann ich im Terminalemulator Bilder sehen und Filme ansehen? Im Falle einer virtuellen Konsole kann ich dies über den Framebuffer tun, aber was ist mit Terminalemulatoren?


Klingt so, als würden Sie nach den Apps suchen, die in den folgenden U & L-Fragen und
Antworten aufgeführt sind

Antworten:


5

Eine Reihe von Terminal-Emulatoren unterstützen Sixel Graphics . Auf der PySixel-Github-Seite heißt die Liste:

  • RLogin
  • Tanasinn
  • mlterm
  • XTerm
  • DECterm
  • Kermit
  • WRQ-Reflexion
  • ZSTEM

Sie können die Bilder mit dem oben genannten PySixel anzeigen , der anscheinend die erforderlichen Konvertierungen durchführen kann. Eine andere Möglichkeit ist die Verwendung von Werkzeugen aus netpbm. Ich hatte gute Ergebnisse beim Konvertieren und Anzeigen eines JPEG-Bildes mit mlterm:

jpegtopnm image.jpg | pnmquant 256 | ppmtosixel >/dev/tty

Ergebnis:

mlterm Anzeige Sixel-Bild

XTerm kann auch Sixel-Bilder anzeigen, obwohl die Unterstützung derzeit auf 16 Farben beschränkt ist (und auch fehlerhaft ist). Ein Archiv mit Beispielbildern kann hier heruntergeladen werden , obwohl die Skripte fehlerhaft zu sein scheinen. XTerm zeigt nicht das genaue Ausgabeformat von an ppmtosixel(es unterstützt nicht die am Anfang / Ende verwendeten Steuersequenzen). Bevor PySixelich gefunden habe , habe ich den folgenden Scrip verwendet, um die ppmtosixelAusgabe in etwas zu hacken, das XTerm anzeigt:

#!/bin/bash

echo -e '\eP0;0;0;q"1;2;400;400'
jpegtopnm "$1" |
  pnmquant 16 |
  ppmtosixel |
  tail -n +2 | 
  head -c -3
echo -e '\x1b\x5c\x0d'
tput cup "$(tput lines)" 0

Die Bilder werden im Standard-VT420-Modus nicht angezeigt. Nur in den Modi VT240, VT241, VT330 oder VT340 werden sie angezeigt. Auch die --enable-sixel-graphicsBuild-Option ist erforderlich. Ich habe mit VT340 ( xterm -ti vt340) die besten Ergebnisse erzielt . Hier sind die Ergebnisse (das erste ist ein sehr cooles Tron-Bild aus dem Beispielarchiv):

Bildbeschreibung hier eingeben


1
Ihr Skript ist mit Echos und Kopf und Schwanz nicht gerade robust. Das Problem, das Sie zu bekämpfen versuchen, ist, dass xterm im utf8-Modus Probleme mit 8-Bit-C1-Codes hat. Glücklicherweise können c1-Codes auch mit 7 Bit codiert werden. perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'funktioniert wie ein großartiger Filter nach ppmtosixel (und zu jedem anderen Zeitpunkt möchten Sie 8-Bit-C1-Codes auf ihre 7-Bit-Entsprechungen umschalten).
Hildred

Gibt es so etwas für Konsolen oder andere moderne Terminalemulatoren?
Strg-Alt-Delor

5

Terminologie

ist was du willst.

Zum Beispiel - Ich möchte den Hintergrund meines Terminals ändern?

printf '\033}bp%s\000' \
  'http://hdwalldesktops.com/wp-content/uploads/2014/02/background-backgrounds-high-resolution-abstract-picture-background-wallpaper.jpg'

Was tut es?

Es emuliert ein leicht erweitertes vt100 mit einigen Erweiterungen und eingeworfenem bling.

> Most escapes supported by xterm, rxvt etc. work

> Xterm 256 color escapes work

> Backgrounds (bitmap, scalable/vector, animated gif, videos)

> Transparency

> Bitmap and scalable fonts supported

> Themes for the layout and design

> URL, file path and email address detection and link-handling

> Inline display of link content

> Multiple copy and paste selections and buffer support

> Works in X11

> Works in Wayland

> Works directly in the linux framebuffer (fbcon)

> Can be finger/touch controlled

> Scan scale by UI scaling factors

> Can render using OpenGL or OpenGL-ES2 (not a requirement - just an 
option)

> Can display inlined media content (images, video, documents)

> Can do multiple "tabs"

> Can do splitting into multiple panes

> Block text selection

> Drag and drop of text selections and links

> Can stream media from URLs

> Tab switcher has live thumbnail content

> Single process, multiple windows/terminals support

> Fast (gives urxvt a run for its money)

> Themable visual bell

> Compress backscroll

> Text reflow on resize

> Color palette selection

> More...

Siehst du das oben? Dies geschieht im Framebuffer.



1

Mehr oder weniger. Mplayer unterstützt zum Beispiel sowohl das AALIB-Rendering (einfarbig) als auch das Libcaca- Rendering (farbig) von Videos in einem Textterminal. Es ist nicht gerade hochauflösend, aber wenn sowohl das Sub-Pixel-Rendering als auch das temporäre Dithering die effektive Auflösung erhöhen, können Sie in der Regel erkennen, was los ist.


0

In der Unix-Welt emulieren Terminalemulatoren serielle Terminals, bei denen der dem Benutzer anzuzeigende Datenstrom einzeln über eine serielle Leitung gesendet wird.

In der Modem-Zeit waren dies normalerweise 1000-2000 Zeichen pro Sekunde, aber heute kann es viel schneller sein, wenn nur emulierte Hardware verwendet wird. Es lag dann am Terminal, die gesendeten Bytes zu verstehen. Normalerweise diente dies dazu, Zeichen anzuzeigen, den Cursor zu bewegen und die Bildschirmanzeige zu manipulieren. Einige Terminals könnten in den Grafikmodus wechseln - gnuplot unterstützt einiges -, aber die Bandbreite ist viel zu klein, um irgendetwas Interessantes in Bezug auf Video zu tun.

Für einen modernen Computer mit emulierter Hardware kann ein Terminalemulator jedoch eine ganze Menge leisten. Versuchen Sie, nach Bildern mit dem Suchbegriff "ttyquake" zu suchen, um einige davon zu sehen. Ich würde jedoch sagen, dass Sie höchstwahrscheinlich enttäuscht sein werden, wenn Sie sich nach HD sehnen.

http://onyx.chattanoogastate.edu/~jack/matrix/insert.jpg


Beachten Sie, dass einige Terminalemulatoren möglicherweise herstellerspezifische Erweiterungen bereitstellen.
Thorbjørn Ravn Andersen

0

Gehen Sie für die Bildbetrachtung für fim

Verwenden Sie für die Videowiedergabe die Option mplayer

BEARBEITEN:

Versuchen Sie es lieber mit einer Bildröhre . Allerdings habe ich es noch nicht getestet


Dies ist für den Framebuffer der Linux-Konsole, nicht für einen Terminalemulator.
Graeme
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.