Linux(RASBIAN, Debian) 콘솔상에서 미디어 재생하기
한 일년전쯤부터 개인적으로 진행하던 작은 프로젝트가 있다. 작고 안정적으로 미디어를 재생하기 위해 하던것인데 그 기록을 남기려고 한다.
리눅스 콘솔을 사용하여 이것저것을 하다보면 부팅중에 반짝하고는 화면 크기에 맞춰 글자크기가 달라지는게 보일때가 있다. 이걸 보면서 아... 예전 도스에서 한글을 처리하던것처럼 일정 시점에서 모드를 변환해서 처리하는구나라고 막연히 생각만 하다가 우연히 인터넷을 검색중에 리눅스 콘솔상에서 MAME를 실행하는것을 보고 난 후에 이걸 이용해보면 좋겠다는 생각이 들어 자료를 찾아보고 간단히 응용해서 사용하던 부분이 있었다.
리눅스의 fb(frame buffer)기능을 이용해서 처리하는것인데 예전 도스(DOS)시절에 작업하던 생각도 나고 무척 재미있었다.
내가 하는작업에 맞춰하는 기록이므로 라즈베리파이의 RASBIAN을 기준으로 적는다.
1. 그림파일 출력하기
fbi를 이용하면 된다. fbi는 linux framebuffer imageviewer로 콘솔상에서 이미지를 보여주는 프로그램이다.
$ sudo apt-get install fbi
$ fbi
로 설치를 하고 사용은 간단하다.
$ fbi imagefile.jpg
위 그림파일은 무료이미지로 https://pixabay.com/ko/에서 받아왔다.
그림파일이 보여지고 하단에 파일에 대한 설명이 나온다. 그림파일이 화면보다 크다면 화살표를 이용하여 위치를 옮겨가며 보는것도 가능하다. 하단에 나타나는 정보가 때론 보여지지 않는것이 필요할 경우도 있다. 이럴때는 -noverbose 옵션을 넣어주면 된다.
$ fbi -noverbose imagefile.jpg
하단에 정보가 보이지 않고 깔끔하게 보여진다. 사실 이 이미지는 좀더 큰 이미지 인데 현재 모니터 해상도가 전체 그림을 다 보여주질 못하고 있다. 화면에 맞추려면 -a(autozoom) 옵션을 넣어주면 된다.
$ fbi -a -noverbose imagefile.jpg
이 패키지의 자세한 사용법은 옵션없이 fbi를 실행하면 된다.
2. 화면 캡쳐(Screenshot)하기
GUI환경에서야 기본지원되는 경우도 있고 다양한 프로그램들이 존재하니 그걸 이용하면 될테고 콘솔상에서는 어떤 프로그램들이 있을까 하고 찾아보니 여러가지가 있지만 어짜피 fb(framebuffer)기능을 이용하고 있으니 그 방식의 프로그램을 이용하는게 있지 않을까 해서 찾아보니 있다.
fbgrab을 이용하자. framebuffer device에서 screenshot을 해주는 프로그램이다. 다양한 옵션들은 fbgrab을 이용해서 보면 된다.
$ sudo apt-get install fbgrab
$ fbgrab
설치도중 fbcat을 이용을 권유(?)하는듯한 메시지가 나오는데 이건 추후에 알아보기로 하고...
사용법은 간단하다.
$ fbgrab test1.png
현재 콘솔화면이 캡쳐되서 저장된다.
다른 프로그램의 모습들을 캡쳐하려면 딜레이를 줘야 할테고 그 프로그램을 실행하기 위해 캡쳐프로그램은 백그라운드로 실행을 하면 된다.
$ fbgrab -s 10 test2.png &
3. 동영상 재생하기
콘솔상에서 동영상을 재생하기 위해서는 mplayer나 omxplayer를 이용하면 된다. 라즈베리파이의 RASBIAN에는 omxplayer가 미리 설치되어서 공급된다.
재생또한 간단하다.
$ omxplayer movie1.mp4
코덱이 필요한 경우도 있겠지만 왠만한 영상들은 바로 재생이 된다. 라즈베리파이1에서도 풀HD동영상(1920x1080)을 문제없이 재생하는것을 볼수있다.
영상이 화면에 꽉 차지 않는경우 상하단에 콘솔메시지들이 보여진다. 이걸 해결하기 위해서는 -b (blank)옵션을 주면 된다.
$ omxplayer -b movie1.mp4
4. 콘솔에서 한글보기
리눅스 설치시 지역을 한국으로 세팅하고나면 콘솔상에서 한글이 깨져보인다. (물론 ssh를 이용해 putty등에서 접속을 해서 보면 제대로 보인다)
여러가지 방법들이 있지만 간단한 방법으로는 fbterm을 이용하는것이다. 계속 나오는 형태라 예상하듯 framebuffer based terminal이다.
폰트를 설치하고
fbterm을 설치한 후
fbterm 명령을 준 후 작업을 하면 된다.
$ sudo apt-get install fonts-nanum
$ sudo apt-get install fbterm
$ fbterm
추후에 콘솔에서 사용하는 여러 패키지들을 찾아보고 이용해봐야겠다.