/ Статьи / Видео / Работа с видео в Linux. Часть 2. Mplayer. Хитрости и трюки. /

Работа с видео в Linux. Часть 2. Mplayer. Хитрости и трюки.

Дата публикации: June 10, 2010, 2:02 p.m.
Теги: mplayer, видео, ascii, linux,
Автор: Brainsburn

видео ascii

Портим глаза, смотря видео в ASCII графике. Просмотр видео в консоли, нестандартные способы воспроизведения видео. Mplayer + AAlib, libcaca, matrixview, страпон, bdsm. Ой, не в ту степь....




***

Просмотр видео в ASCII графике. Mplayer + aalib.

В mplayer есть библиотека AAlib, позволяющая отображать графику в текстовом виде, используя ASCII рендерер. Эту библиотеку, кстати, поддерживает не только mplayer, но и некоторые игры. Вот примеры использования:

$ mplayer -vo aa video.avi
После этого вы увидите видео в ASCII графике. На моем компьютере, почему-то, отображалась лишь левая половина видео, т.е. видео обрезалось по ширине. Помогла мне вот такая махинация:
$ mplayer -vo aa -monitorpixelaspect 0.5 video.avi
Если развернуть видео на весь экран, на большом разрешении, можно даже разглядеть детали. Особенно удачно выходит мультипликация типа Симпсонов, в которых не большое кол-во цветов.

Вы можете подстроить яркость и контрастность используя клавиши:
1 - уменьшить контрастность;
2 - увеличить контрастность;
3 - уменьшить яркость;
4 - увеличить яркость;
7 - инвертировать картинку;
На мой взгляд лучшее изображение получается, если увеличить контрастность до 100-120.

Вот парочка примеров того, как AAlib рендерит ASCII графику и одно видео, которое я записал только что, чтобы вы увидели, какое "чудо" можно получить с этой библиотекой ;)

f~gjjjz::;zg@@a2g@@:j/:dr@@uagzg2g@@@QgQ@@@@@@@@QQ$$@@QQQQQzQ$KKQ@@@@@@@@@@@@@@
rQ::jjj Nzjj2:@:.::::""cdz\2jzxJXxK@@@@@@QzgK@@QQQQQgQ@@@@@@@@@@@@@@@@@@@@$$K@@
pj.;;:jq.::jg@:"@@N::::aZjju@@paQg@@@@@@@@@@@@@QQQQzQQrsIJ#jK@$@@@@@@@@$@QKzzgQ
:.''jaa@j+:gg:Q:@@Q:_;jjKQSS4?4?#R@3V$@@@@@@$@@@@@@@@@pZQ@@@zzzjQ@$@@$@QpQ@q@zg
'.'::g.$}:":\::::@:{aj:$@;u::"<~@:;:jj<VH@@@@Q$@@@@@@g\q@@@@Q@@@@@$@Xa2@$x\NQs$
'';Q@.pqQuj::::""{:@w<~<~~~Z::jj:;::::jjw<K@@poGQKcKx?z@@@@$@@@@@@@Q@pxdG@QNB"a
 q;.2g$qrI_:z:;:::@gajj;jjj;''' ' '.'..'jQ77@$QQzj2ghq@@@Ig@@@$@@@$Q@$E2$@KQr:j
 j\c1Xjzr:a\_2j;{"Zj::..''  ' '' '   ' '''. (70v@1a;{uZ@fZagQr@za@@@@@Q$Q@Ks:"2
""1QoKY?cQ\n2j:@@:@2::;.'':zQ~~`g::.'''' ''   ::2ur@:ocg;1@zgQ@@@@mV>V~H;zo9::}
:{Q@:j/:1K@nj":@ggZ2Qgj::.;' .;;;''.' .;.'''  'jQ::.jaGI@3H9<e"=+w@Nz2QzaQ@@ :p
@Qgrj;Cj::j:j::::@Z@@_q.:q,2'  '.;j.. ';;;  ' .:._pXz::`zj::j::j:22..'::;jw<}@g
.:}:~@.;q:@:@:@::_:_222Q2;;:;.__..:q:'  ' ' '';@1z@Q\:@j;'''''''''''''';..jZQ2:
\::QQ::@QzNQQ@:\1jpjzj:dQ2$:\"uQ2V<#:;2:qg:;;;j"qQ@@p5j''..'''''.j._,:ja:::@@ag
j}:..a::j2aZQ@:j:@zQQ@g_Q@QzQQy4z22yQ:.":<:@Zj@12@@@Q\. '''  ''; :jz<\gw@j2@z,"
~:@"::gg2:jajZ@:<#@jgZ@@gpjNveH@r\pQ#f"1rj}\,j:1g@@@@\;a;.'  '  ':.'2zQjjjQQ@::
jQZ"wQQ ; Z::j2Q:<c2s$ja2x\Qj:~=*^::_q_Q::_:2j::q@@@@$2c_pZq_ jjZg.' .:jag@Q.\:
_"N@@::j.:2;;;:jjQ::\2O@2jj2\_____zzojcQQj:$1:jQj@$@@rnZ@Q_qg :@@@qz._jgQ::g1n@
N@:27j;\:@j;'.;;:jja@::<c2QN@QQ@pKr$g::oQj@N:z:Qj@@@@@;cjQ\::__._.jjQ;2zQ@gq::/
j=+@:~::L__ g.'''..;:2g@:uQ2z@QQQg2du\jzQ@Q@Q::@g@@@@m5q;@:<<c:@oC""+N:gzga{0@:
w:::N:::c\::g:.'''''.;:jQ:jdgQ@@QQ2$&2j=4N/3aa\jz@@@@r@JCL,@@@@<~w@:.;\gj:::Q2j
@."@@2\j5~Qj::;'.' ' '':jgqj2jaKggSB~~g:jgq<HdUQ@@@@@m}jjdjL:z:2Q,:j0o"QjjZq,a.
"}".1_p"_.qjQ2 z..;''.'.::@:zQ1Kgp5`aj2.Q@:@@\Qg@@@@$\}:ja:@:___;k;2<+Naq@g@Qj 
@@:2j_j&::_p@:.@j;j:j:...jg@\aN#rpZ:;2:az2;;@"2z@@@@@p;:jj:Z@j$Q:j:":Q2Q@:QZj '
_"\<<c_\Jsvcj+:.:"p@:ZZj:2a@":"<Zaz:.jqj<0&}Q::ou@$Qn2;_jjQzajr""@:@ggN::;Na;''
<G#@Oo$@$ndcB::._:@Z.;Qj:az::@N .2:j.;j2a2gNza@js@2@$Qj":"j":":@@zj; j\j2JcQ:2:
_{_2:Q@3QQuyzQQQ_2j"._qN@aQazzq.p\.pj    ' ''';a@~<V5o:@@:::@@gz2:jQ{aaz_Qja:ja
1yt.21_Qz1Q@@9@zz_g2$:NQ;:jjq.qzjo\_Q qa; '    ';:aa2ag22@Nga2j2Q.::{:C2@n`a:j{
@h:2OoQQuQQ@@QQ@@@p$\_:i._z_2zQnuzxp:QQ}N;;: '   ' ;:@@jjg@z@Q@@"\uQ\p_rwQ2:j::
\{a_2Nzg@@$@Q@$0>:_;_gz@mz2dGQ$H@x8qvgszq.:@,:. '';aN:NZ@N:@Q:Nqju;:@..:}Q:;...
"{":q:Quzzzg@@@@Qp\ggQ@@@fqKKQpor1rq2I!\d::".p: :2Z,QZ{_.:_j2Q\1Q@n.;:{pr:...' 


gggzgzgggggggggggggggzzgzzzr#+\._ju::\2\jpQQg<@222uaazzaa22auaazaaauauaaaaaaaau
gzgzzzgzggzzggzgzgzzzzg2r@@QsQj~\,:2jj}w:q. z:jw@j2222aauua2uaaauju2222aaauaa2u
gggzgzgggzggzggzgzga2?Q:a0o<t_::/4"r\jazr@:QZ:j::~@j22222uu2u222aa222u2uauaaaau
ggggzggzggzzzzazzz2%:sa:j;<jp@gq.":j<^C.,._;Z::wwwq::Q@j222u2222222222222aa222a
zgzgggzggzzzzzza2A:n~:::p@Zwq@p@@@zj:j;a.__,Qaj;:: qG@p@:N@j2222222222j22222222
gggzgazzzzzaaa#5;~:,@zzzQZ@`@gNw~azzjj;.:jz~^^ g2,::\aq2a$Q:ZQj@22j2j222j222222
gzgzzzzaaaa2?!aj2@~`g: ::g@~<j.jp<<:j;.@Q:@{5Nggqg{:QQjj@pyuCdj@jjj2jjjjj2j22j2
ggzzzzzaa2F!`Q::. ;  ' .a 2zZ:;':;:j::j 2 ' ..:2Qz:j:j2@:Q@\j"CZj@jjjjjjj2j2j2j
azzzzaau$}::2:;                              :Z@:_:Q2ggz2p:Xi@:<XNj@jjjjjjj@jj2
gzzaaau2p:'           ..;2zz2:;:jj.        ;j...QQ2zQQQQg2:q^@ja{OQ@@j@@j@j@jjj
gzzzaa22l              '2:_.2\;____.Qajjj2Z._QQ22zzZQQQQQz\\@@: :<u@j@@jjjjjjjj
zaaaza22_,            ja:1QjQ\QjQjjQ\::z2::QjazazzZQQQZQQgap;Z:' j{Z@jjjjj@j@@j
zazaaa22\};  .     :.j.jQ@222222u2uu222jj22aaaazzzQZgggzgza$ra:   :1jjjjjjjjQ@j
zzzaauu22p         jQ:j:@jj222j22u2auuua22zzzggzZZQQQZgzza2@n z .._pj@jjjj2jjj@
zazzaaa22j}       :."j2Q@jj2j2j2a2zaaaazgggggQZQQQQgZZzu2jj@:;2.qjj@@jj@jjjj@@@
aaaaazaau2p,     'jZQ:uZ@@@jjjjjjj2jjjuaggggggggaaa2jjj2aoj$Q2gjq@@@j@@j@jj@j@@
aaauaua222jpz;   ; 'j:a:::Q@@@N@@jj2c2j@@@@jjj@@N0ooRRRR^<~<j:;jz1j@@j@@@@@j@@Q
a2u2uuu2u222.; ':;'Q;jjj2ago:p@Zj::jww~~~<:{az2j~`j:; ;  '.;a@"::q@@@@@@@@j@@@$
2u2aa2222$~~~Cpj.'j:\{"{:~@gj:            .Q:":N2:'         .@"j.{Q$@@Q@@@@$$Q$
2222u222jI22Qj2 2:::jjj":2.   .;         j..j.y::    .'  ' ;j@:"j1Q$QQQQQQ$Q$Qp
222222222i@:"@:j'.Q:\j"\@:'  2;2.,.  :';: 21Q2\\z2'jgN~a2g@.{{"@:Q@$QQ@$$@Q@@Qj
2222u22j2;j2{@;   q"":"\\\::{j\;::@QQQ@:@@jqaza$:;:::@::@:{2a2\N1@@@@@@QQ$N@Q@$
jj2j2jj22j22"Q  :;.u\::"jag:2j2jj\::::"2j:gQzggj$@:2::QQ@~^jj"j:QN@N$$$$$$@@$$N
2222j22jj2p;::a:jg2a;"::{2u:zcj""::::jc::Q@@gZza2\pg:Q:.:{{:::1QQQQQQQ$QQ@@QQQQ
j2j2j2j2j2j\2j"\.{1Q22:::{jjjjajjj.QQ@:~~jZjaggzj@Q,w<Z$Q:n;:"1$QQQQQQQQ$$@p$Q$
2jjjjjjjjjjj\u::p5z:Qaj\::::::::j:$@Kr`qQ\:Q2zgz22j2,N~O:::aj2u@$NQ$NQQNQQ@p@QQ
jjjjjjjjjjjjjQ@p:1Z$Zcj"j\:"\j22a0uo:@2:NKsN"??##Y=~t;z:agaaaja@Q$Q$Q$QQQ$QQ$QQ
jjjjjjjjjjjjj@\:Nn{2:aj{jjj\:{\jj\j:g:{I:   'j22:.  quL:;{z:2aQ@QQQQQQQQQQNQQQQ
jjjjjjjjjjjjjjjj\_p:g:jjj\\"jj{"""j:q.:n,N         'a:eQjQ:aj;@QQQQQQQQQQ$NQQQQ
j@jjjjjjjjjjjjjj@jj:aa2j2"{j{\jjj".:qp;}\:g'.g:a ; '.:~u@QQ\::@QQQQQQQQQQQQQQQ:
j@jjjjjjj@jjjj@@j@j:2jj2zj2jjjjj"1A@$Qf::Q:aa.'..' :  jg<o@@@Q$QQQQ:QQ:QQQQQQQg
@jjjjjjjjjjjjj@j@@@\ajjjjczzj22j1@Qn2r`gj;              'aN{Q@QQ:QQ:::Q:QQQQQQ:
jjjjj@jj@j@@j@@@@NY} :j""jjjjjjjgyz~:qj.       '''        :apj@QQQQ:zQQQQQQQQQQ
jjj@@jjjj@j@@@@p9`:|j::<:""\":\jar:@:j:        ''' '     ';g@a(cQ:Qg2::::QQQQQQ
j@jjjj@j@@@@@@p`2 'd_j:"":jj\jjjj::@;''..'::jza@QNjj2j2aQ@.1;2g:{QQQag::QQQQQQ:
jjjj@j@j@@@@$9j:  {JQQL_":j22":"\";j;::Ng@g@.::~;:j\;12._jz:}z:2;w=uaa:g:QQ:QQQ
jjj@j@j@@@p~`:'   1L3=QQz_2Za::::::pqpQjj:2y:\j@{\{j0ZQQ:2:2`2    ':~~zzg::Q:::
jjjjj@@@P~j';.     QQ_@74Qz\;\"::us@j@h{g}@@_2{:2@$;g\2SQQ:Q`         ;~<jgg:gg
jjj@@s~ g:'     . ;{NNQL_.V<u\,:@QqeA$cQr_"jQL11$QpjQQQ:uQ:a`:    ' '    .':w<<
@N~*:.;:.   '  ''::(ZQ$@@@g__<j_,:@@<Nuc{au:aqnNr@@@@QjpQQQjQ.    ''';         
`a'  '         .;:j;dQQ@Q@$@@Qg22."@NQ::;QjQjQ:p/uQQp@j\$\p:;2   '' '          
              ;;;:::Q~4Q$@$$$QQQ$Q\;@@@<Gj$jpd\@pzQ$Qp@@zn}qL;   ' '''''       
            ';;;.;:jz j7ZUZQ@N@Q@NQQ2Q:;_;<VR#@j\j2jjj2gQh:gQp: '''' '' ';     
           ';;;::::j:a\,:<cQgpEsQ$QQQgz\QQ:2agQQ@@jj2zzZQ:1@Qx,:'' '.'''''  .  
          ;;;;;;:;:::;(oPT:<ZQQQQNQQQgar@$gzaoZQ:@@j2azgQQ@$$xIj''.;..'''''''' 
     .'..:;;;...;.;;::.{@Q\;@<%QQ$QQx2$9<`;  '2~<Q@jjzzQQ@$$$Qpj;;;''''''''''''
    ''.:;;;;.;...'''.:j q@@Q\,@7vQQxrR+:,   'jzQZQ<~"jzZ$$$$@xr 2;;.' ''''''  '
     '..;.;;:;''   ''';a7@@@@Q2\:Y7&2{g@\\.aqqN:ur : _dQ@@$$$QzIj:;;.;'''''''''
     ''..;.;..   '   ' .:{N$@@@Qz;,:j~12:/<z:j~~w q_QQQ@@$$@$Qgpj::;...''''''' 
       ' '  '           ;z&Q@$$@@Qz__ j:' ::   .__QQQ@$@$$$$@QQr:j:;;;''' '''' 
       ''' '             ' Z@$@$$@@@Qz___.: __gzgQQQ@$$$@@$$@QQa2j;:;..''''''''
                          :7Q$$$$$$$$N$QQg:Jjv4gQNN$$$@@@@@@@NQgQj:::;..' '''' 
                           ;[@$@$@$$$$Qp;~"2_:zqN@$$@@@@@@@@$$QZQj::;..''''''''
                           .z&$$$$$$$$QQr_j\_.QOVQ$$@@@@@@@@@NQQQj::;''''''''''
                             wQN@$$$$$@Lzg<\2p{QgQN@@@@@@@@Q@$QgQj:;'''''''''' 
                              JQ$$@$@$$QQQ2r<%>OQ@s4@@@@@@$@@$Qx@j;.'''''''''''
                             ':uQ$$$$$$4eZx__.:}(agxqQ@@@@@@@$Qxaj:;''''' ' '''
                                dQ@$@$Q3pCa\Q;1N14vug@@@@@@@@$Qgj:::.;''''' .' 
                              '. q$@$$$Q12a_@yzj\QQgQ@@@@@@@@Q$Q;2::;;.;.''''.;
                                .J$$$$$QgazzQ1QQQg$@@@@@@@@@@$QQ}Q:::;;;;..'._w






***

Просмотр видео в цветной ASCII графике. Mplayer + libcaca.

Libcaca - еще одна библиотека использующаяся в mplayer для рендеринга видео в ASCII графике. От AAlib она отличается поддержкой цветов - 16 цветов и 256 цветовых пар. Но, у libcaca есть некоторые минусы - в ней нету регулировки яркости и контрастности. Пример использования:

$ mplayer -vo caca video.avi

А вот примеры видео, которое получается. Лично мне AAlib больше понравилась :Р

libcaca libcaca




***

Просмотр видео в стиле Matrix. Mplayer+matrixview.

Matrixview - библиотека mplayer, которая позволяет смотреть видео почти в ASCII графике - вместо пикселей - матрица. К сожалению, я не нашел в ней настроек контрастности и яркости, а с умолчальными настройками видео получается довольно бледным - хорошо выходят только контрастные видео с резким переходом цветов. Пример использования:

$ mplayer -vo matrixview video.avi
Примеры видео:






***

Просмотр видео в консоли без иксов. Видео в Framebuffer.

Вы можете спросить - "А зачем вообще нужны эти AAlib, libcaca, matrixview? Ведь приемлемого качества в них не получишь - только глаза портить". А я могу ответить - "В AAlib, например, можно смотреть видео в консоли". Если серьезно, то, конечно, это все - just for fun и не более. Конечно, я предполагаю, что для кого-то они принесут пользу, но для просмотра видео в консоли есть куда более гуманные для психики способы :) Например, драйвер fbdev. Точнее, fbdev2. Если нужно, можете прочитать материал о том, как настраивать фреймбуфер в Linux. Вот примеры использования fbdev2:

$ mplayer -vo fbdev2 video.avi
С драйвером fbdev у меня мерцал экран, поэтому я использую fbdev2, чего и вам советую. Качество - не отличить от оригинала! Многие задаются вопросом - "как смотреть видео в полноэкранном режиме в framebuffer?". Решение простое:
$ mplayer -vo fbdev2 -zoom -xy 1280 video.avi
1280 замените на разрешение вашего экрана по ширине и видео пропорционально растянется до нужного размера.

Скриншот видео, проигрываемого в framebuffer. На нем видны небольшие помехи, но это лишь погрешности программы, с помощью которой я делал скриншот, - в реале видео было без помех:

video framebuffer

А любителям ASCII графики советую посмотреть замечательный мульт по telnet. Он старый и бородатый настолько, что его можно уже считать новым:
$ telnet towel.blinkenlights.nl
Enjoy! =)




Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(5)

# Гость Jan. 8, 2011, 10:31 a.m.
Больше всего порадовало:
$ telnet towel.blinkenlights.nl


# stas Dec. 27, 2011, 1:52 a.m.
Так же видео можно смотреть через sdl
$ mplayer -vo sdl movie-file
fullscreen автоматом, качество как в иксах

# Андрей April 1, 2013, 10:56 p.m.
Благодарю вас за очень познавательную статью о таком интересном предмете, как ACII-графика!

# Alex April 14, 2014, 11:32 p.m.
Здравствуйте! а у меня ничего нет, не показывает видео, только звук идет :( запускаю mplayer -ом. В чем косяк?
Спасибо за ответ!

# Гость May 22, 2015, 8:11 a.m.

Комментировать:

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

Brainsburn_: “Написание в 1-й” подразумевает “в первой”, а не в... >>>
ZZZ: “Написание в 1-й” подразумевает &ldquo... >>>
SBOdin: Спасибо за полезное руководство... >>>
fanyit: Спасибо за обзор. очень полезно и доступно.... >>>
cheech: Спасибо, статья полезная )... >>>