Чи можу я бачити зображення та переглядати фільми всередині емулятора терміналу


13

Чи можу я бачити зображення та переглядати фільми всередині емулятора терміналу? У випадку віртуальної консолі я можу це зробити через framebuffer, а як щодо емуляторів терміналу?


Здається, що ви шукаєте програми, перелічені в цьому записі U&L: Опції, щоб показати зображення, коли на консолі
slm

Відповіді:


6

Термінологія

це те, що ти хочеш.

Наприклад - я хочу змінити фон свого терміналу?

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

Ви бачите це вище? Це робиться в кадрі.


5

Ряд термінальних емуляторів підтримують Sixel Graphics , зі сторінки github PySixel , перелік:

  • RLogin
  • танасінн
  • млтерм
  • XTerm
  • DECterm
  • Керміт
  • WRQ Reflection
  • 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


1

Так, начебто. Наприклад, Mplayer підтримує як ааліб (монохромний), так і лібкака (кольоровий) візуалізацію відео в текстовому терміналі. Це не зовсім висока роздільна здатність, але як із відображенням субпікселів, так і тимчасовим зворушенням, що збільшує ефективну роздільну здатність, зазвичай можна розповісти, що відбувається.


0

У світових емуляторах терміналів Unix емуляція послідовних терміналів, де потік даних, що відображається користувачеві, надсилається по черзі через послідовну лінію.

За час модему це становило близько 1000-2000 символів в секунду, але сьогодні може бути набагато швидшим, якщо задіяно лише емуляційне обладнання. Тоді до терміналу було зрозуміло надіслані байти. Зазвичай це було для показу символів, переміщення курсору та маніпулювання екраном. Кілька терміналів можуть переключитися на графічні режими - gnuplot підтримує зовсім небагато - але пропускна здатність є занадто малою, щоб зробити щось цікаве з точки зору відео.

Тим не менш, для сучасного комп’ютера з емульованим обладнанням термінальний емулятор може зробити дуже багато. Спробуйте пошукати зображення із пошуковим терміном "ttyquake", щоб переглянути деякі з них. Я б сказав, що якщо ви прагнете HD, ви, швидше за все, розчаруєтесь.

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


Зауважте, що деякі термінальні емулятори можуть надавати конкретні розширення для постачальника.
Thorbjørn Ravn Andersen

0

Для перегляду зображень перейдіть за фім

Для опції відтворення відео використовуйте mplayer

Редагувати:

Швидше фім, спробуйте картинку-тюбик . Хоча я ще цього не перевіряв


Це для Framebuffer для консолі Linux, а не для емулятора терміналу.
Graeme
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.