Можно ли смотреть изображения и смотреть фильмы внутри эмулятора терминала?


13

Можно ли просматривать изображения и смотреть фильмы внутри эмулятора терминала? В случае виртуальной консоли я могу сделать это через framebuffer, но как насчет эмуляторов терминала?


Похоже, вы ищете приложения, перечисленные в этом разделе «Вопросы и ответы»: параметры отображения изображений в консоли
slm

Ответы:


5

Ряд эмуляторов терминала поддерживают Sixel Graphics , со страницы PySixel github , список:

  • RLogin
  • tanasinn
  • mlterm
  • XTerm
  • DECterm
  • Кермит
  • WRQ Отражение
  • ZSTEM

Вы можете отображать изображения с помощью вышеупомянутого PySixel , который, кажется, способен выполнять необходимые преобразования. Другим вариантом является использование инструментов из netpbm. У меня были хорошие результаты, используя следующие для преобразования и отображения изображения JPEG на mlterm:

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). Вот результаты (первое - очень крутое изображение Трона из примера архива):

введите описание изображения здесь


1
Ваш сценарий не совсем устойчив с эхом и головой и хвостом. Проблема, с которой вы пытаетесь бороться, заключается в том, что xterm в режиме utf8 имеет проблемы с 8-битными кодами c1. К счастью, коды c1 также могут быть 7-битными. perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'работает как отличный фильтр после ppmtosixel (и в любое другое время, когда вы хотите переключить 8-битные коды c1 на их 7-битные эквиваленты).
Hildred

Есть ли что-нибудь подобное для консолей или других современных эмуляторов терминала?
Ctrl-Alt-Delor

5

терминология

это то, что вы хотите.

Например - я хочу изменить фон моего терминала?

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

Что оно делает?

Он эмулирует слегка расширенный vt100 с некоторыми расширениями и добавлением 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...

Вы видите это выше? Это происходит в фреймбуфере.



1

Да вроде. Mplayer, например, поддерживает как aalib (монохромный), так и libcaca (цветной) рендеринг видео в текстовом терминале. Это не совсем высокое разрешение, но с помощью субпиксельного рендеринга и временного сглаживания, увеличивающего эффективное разрешение, вы обычно можете сказать, что происходит.


0

В мире Unix эмуляторы терминалов эмулируют последовательные терминалы, где поток данных, который должен быть показан пользователю, отправляется по одному по последовательной линии.

Во времена модема это обычно было около 1000-2000 символов в секунду, но сегодня может быть намного быстрее, если задействовано только эмулируемое оборудование. Это было тогда до терминала, чтобы понять отправленные байты. Обычно это было для отображения символов, перемещения курсора и манипулирования экраном. Несколько терминалов могут переключаться в графические режимы - gnuplot поддерживает совсем немного - но пропускная способность слишком мала, чтобы делать что-либо интересное с точки зрения видео.

Тем не менее, для современного компьютера с эмулируемым оборудованием эмулятор терминала может многое сделать. Попробуйте найти изображения с поиском «ttyquake», чтобы увидеть некоторые из них. Я бы сказал, что если вы жаждете HD, вы, скорее всего, будете разочарованы.

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


Обратите внимание, что некоторые эмуляторы терминала могут предоставлять специфичные для поставщика расширения.
Турбьёрн Равн Андерсен

0

Для просмотра изображений, перейдите по ссылке

Для воспроизведения видео используйте mplayer

РЕДАКТИРОВАТЬ:

Скорее фим, попробуй кинескоп . Хотя я еще не проверял это


Это для кадрового буфера консоли Linux, а не эмулятора терминала.
Грэм
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.