ターミナルエミュレータ内で画像を見て映画を見ることができますか


13

ターミナルエミュレータ内で画像や映画を見ることができますか?仮想コンソールの場合、フレームバッファを介してそれを行うことができますが、端末エミュレータはどうですか?


あなたのようなサウンドは、このU&L Q&Aに記載されているアプリを探している:画像を表示するためのオプションと、コンソール上
SLM

回答:


5

PySixel githubページから、多くの端末エミュレーターがSixel Graphicsをサポートしています。リストは次のとおりです。

  • RLogin
  • タナシン
  • mlterm
  • XTerm
  • 12月
  • カーミット
  • WRQリフレクション
  • ZSTEM

前述のPySixelを使用して画像を表示できます。これにより、必要な変換を実行できるようです。別のオプションは、のツールを使用することですnetpbm。次を使用してmltermでJPEGイメージを変換および表示すると、良い結果が得られました。

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

結果:

Sixel画像を表示するmlterm

XTermはSixelイメージも表示できますが、現在サポートは16色に制限されています(バグもあります)。サンプル画像を含むアーカイブはここからダウンロードできますが、スクリプトは壊れているようです。XTermは、正確な形式の出力を表示しませんppmtosixel(開始/終了で使用される制御シーケンスをサポートしません)。を見つける前にPySixel、次のスクリプトを使用して、ppmtosixelXTermが表示するものに出力をハックしました。

#!/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
あなたのスクリプトは、エコーと頭と尾で正確に堅牢ではありません。あなたが戦おうとしている問題は、utf8モードのxtermが8ビットc1コードに問題があることです。幸いなことに、c1コードも7ビットでエンコードできます。perl -wpe 'use bytes;s!([\x80-\x9f])!qq(\e).chr(ord($1)-64)!ge'ppmtosixelの後の優れたフィルターとして機能します(その他の場合は、8ビットのc1コードを7ビットの同等のものに切り替えます)。
-hildred

konsoleやその他の最新の端末エミュレータには、このようなものはありますか?
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'

それは何をするためのものか?

いくつかの拡張機能とblingがスローされた、わずかに拡張された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...

上に見えますか?フレームバッファーでこれを行います。



1

はい、そうですね。たとえば、Mplayerは、テキスト端末でのビデオのaalib(モノクロ)およびlibcaca(カラー)レンダリングの両方をサポートしています。正確な高解像度ではありませんが、サブ「ピクセル」レンダリングと一時ディザリングの両方で有効解像度を上げることで、通常何が起こっているのかを知ることができます。


0

Unixの世界では、ターミナルエミュレータはシリアルターミナルをエミュレートします。ユーザーに表示されるデータストリームは、シリアル回線を介して1つずつ送信されます。

モデムの時間では、これは通常1秒あたり約1000〜2000文字でしたが、エミュレートされたハードウェアのみが関係している場合、今日ははるかに高速です。その後、送信されたバイトを理解するのは端末次第でした。通常、これはキャラクターの表示、カーソルの移動、画面表示の操作のためでした。いくつかの端末はグラフィックモードに切り替えることができます-gnuplotはかなりサポートしています-帯域幅が非常に小さいため、ビデオの面で面白いことをすることができません。

それでも、エミュレートされたハードウェアを備えた最新のコンピューターでは、ターミナルエミュレーターは非常に多くのことを実行できます。検索用語「ttyquake」を使用して画像を検索してみてください。あなたがHDを切望するなら、あなたはおそらく失望するだろうと私は言います。

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


一部の端末エミュレータは、ベンダー固有の拡張機能を提供する場合があることに注意してください。
トールビョールンラヴンアンデルセン14

0

画像を見るには、fim

ビデオ再生オプションには、mplayerを使用します

編集:

むしろ、picture-tubeを試してください。まだテストしていませんが


これは、Linuxコンソールフレームバッファー用であり、ターミナルエミュレーター用ではありません
グレアム14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.