Dapatkah saya melihat gambar dan menonton film di dalam terminal emulator


Jawaban:


5

Sejumlah emulator terminal mendukung Sixel Graphics , dari halaman github PySixel , daftarnya adalah:

  • RLogin
  • tanasinn
  • mlterm
  • XTerm
  • Decterm
  • Kermit
  • Refleksi WRQ
  • ZSTEM

Anda dapat menampilkan gambar dengan PySixel yang disebutkan sebelumnya , yang tampaknya dapat melakukan konversi yang diperlukan. Opsi lain adalah menggunakan alat dari netpbm. Saya mendapatkan hasil yang baik menggunakan yang berikut ini untuk mengonversi dan menampilkan gambar JPEG di mlterm:

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

Hasil:

mlterm menampilkan gambar Sixel

XTerm juga dapat menampilkan gambar Sixel, meskipun dukungan saat ini terbatas pada 16 warna (dan juga bermasalah). Arsip yang berisi sampel gambar dapat diunduh di sini , meskipun skripnya tampaknya rusak. XTerm tidak menampilkan output format yang tepat dengan ppmtosixel(itu tidak mendukung urutan kontrol yang digunakan pada awal / akhir). Sebelum menemukan PySixel, saya menggunakan skrip berikut untuk meretas ppmtosixeloutput menjadi sesuatu yang XTerm akan tampilkan:

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

Gambar tidak akan ditampilkan dalam mode VT420 default. Hanya dalam mode VT240, VT241, VT330 atau VT340 yang akan ditampilkan. Juga --enable-sixel-graphicsopsi membangun diperlukan. Saya menemukan hasil terbaik dengan VT340 ( xterm -ti vt340). Inilah hasilnya (yang pertama adalah gambar tron ​​yang sangat keren dari arsip sampel):

masukkan deskripsi gambar di sini


1
Skrip Anda tidak benar-benar kuat dengan gema dan kepala dan ekor. Masalah yang ingin Anda lawan adalah xterm dalam mode utf8 memiliki masalah dengan kode 8bit c1. Untungnya kode c1 juga bisa disandikan 7bit. perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'berfungsi sebagai filter hebat setelah ppmtosixel (dan setiap kali Anda ingin mengganti kode 8bit c1 ke 7bit yang setara).
hildred

Apakah ada yang seperti ini untuk konsole atau emulator terminal modern lainnya?
ctrl-alt-delor

5

Terminologi

adalah apa yang kamu inginkan.

Misalnya - saya ingin mengubah latar belakang terminal saya?

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

Apa fungsinya?

Ini mengemulasi vt100 yang sedikit diperpanjang dengan beberapa ekstensi dan dimasukkan.

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

Anda lihat itu di atas? Ini dilakukan di framebuffer.


2

Saya baru-baru ini menemukan penampil Bingkai Buffer Gambar, fbi.


1

Ya, semacam. Mplayer, misalnya, mendukung rendering video aalib (monochrome) dan libcaca (warna) dalam terminal teks. Ini bukan resolusi yang sangat tinggi, tetapi dengan rendering sub-"pixel" dan temporal dithering yang meningkatkan resolusi efektif, Anda biasanya dapat mengetahui apa yang sedang terjadi.


0

Di terminal dunia Unix, emulator meniru terminal serial, tempat aliran data yang ditampilkan kepada pengguna dikirim satu per satu melalui saluran serial.

Dalam waktu modem ini biasanya sekitar 1000-2000 karakter per detik, tetapi mungkin jauh lebih cepat hari ini jika hanya perangkat keras yang ditiru yang terlibat. Kemudian naik ke terminal untuk memahami byte yang dikirim. Biasanya ini untuk menunjukkan karakter, menggerakkan kursor dan memanipulasi tampilan layar. Beberapa terminal dapat beralih ke mode grafis - gnuplot mendukung sedikit - tetapi bandwidth terlalu kecil untuk melakukan sesuatu yang menarik dalam hal video.

Namun, untuk komputer modern dengan perangkat keras yang ditiru emulator terminal dapat melakukan cukup banyak. Coba cari gambar dengan istilah pencarian "ttyquake" untuk melihatnya. Saya akan mengatakan bahwa jika Anda menginginkan HD, kemungkinan besar Anda akan kecewa.

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


Perhatikan bahwa beberapa emulator terminal dapat memberikan ekstensi spesifik vendor.
Thorbjørn Ravn Andersen

0

Untuk melihat gambar, pilih fim

Untuk opsi pemutaran Video, gunakan mplayer

EDIT:

Sebagai gantinya, coba tabung gambar . Padahal saya belum mengujinya


Ini untuk framebuffer Konsol Linux, bukan emulator terminal.
Graeme
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.