我可以在终端模拟器中查看图像和观看电影吗

我可以在终端模拟器中查看图像和观看电影吗

我可以在终端模拟器中查看图像和观看电影吗?如果是虚拟控制台,我可以通过帧缓冲区来完成,但是终端模拟器呢?

答案1

术语

就是你想要的。

例如 - 我想更改终端的背景?

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

它有什么作用?

它模拟一个轻微地扩展了 vt100,添加了一些扩展和金光闪闪。

> 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...

你看到上面那个了吗?它这样做在帧缓冲区中。

答案2

多种终端仿真器支持六色图形, 来自PySixel github 页面,列表为:

  • 登录
  • 塔纳辛
  • 多术语
  • XTerm
  • 十二月术语
  • 克米特
  • WRQ 反射
  • ZSTEM

您可以显示具有上述内容的图像皮斯塞尔,这似乎能够进行必要的转换。另一种选择是使用netpbm.我使用以下方法在 mlterm 上转换并显示 JPEG 图像,取得了良好的结果:

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

结果:

mlterm 显示 Sixel 图片

XTerm 还可以显示 Sixel 图像,尽管目前支持仅限于 16 种颜色(并且也有缺陷)。可以下载包含示例图像的存档这里,尽管脚本似乎被破坏了。 XTerm 不显示输出的确切格式ppmtosixel(它不支持开始/结束时使用的控制序列)。在找到 之前PySixel,我使用以下脚本将输出修改ppmtosixel为 XTerm 将显示的内容:

#!/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

默认 VT420 模式下不会显示图像。仅在 VT240、VT241、VT330 或 VT340 模式下才会显示。还--enable-sixel-graphics需要构建选项。我发现 VT340 的最佳结果 ( xterm -ti vt340)。以下是结果(第一个是来自示例存档的非常酷的 tron 图像):

在此输入图像描述

答案3

是的,有点像。例如,Mplayer 就同时支持阿里布(单色)和利布卡卡(颜色)在文本终端中渲染视频。它并不完全是高分辨率,但通过亚“像素”渲染和时间抖动提高了有效分辨率,您通常可以知道发生了什么。

答案4

在 Unix 世界中,终端模拟器模拟串行终端,向用户显示的数据流通过串行线路一次发送一个。

在调制解调器时代,这通常约为每秒 1000-2000 个字符,但如果仅涉及模拟硬件,现在可能会快得多。然后由终端来理解发送的字节。通常这用于显示字符、移动光标和操作屏幕显示。一些终端可以切换到图形模式 - gnuplot 支持相当多 - 但带宽太小,无法在视频方面做任何有趣的事情。

尽管如此,对于具有模拟硬件的现代计算机来说,终端模拟器可以做很多事情。尝试使用搜索词“ttyquake”搜索图像以查看其中的一些内容。但我想说的是,如果你渴望高清,你很可能会失望。

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

相关内容