Avidemux는 옛날 VirtualDub을 대체하는 대표적인 오픈소스 프로그램입니다. 실제로 성공적으로 안착했고 지금은 VirtualDub이 뭐였는지도 모르는 사람이 많을 정도입니다.


그런데 그동안 우분투에서 공식적으로 제공해주던 Avidemux가 16.04에서 제공이 되지 않습니다. 새로바뀐 libx264때문이라는데요. 호환문제가 있다면 어딘가에서는 호환문제를 해결했을 겁니다.


역시나 호환문제가 해결된 PPA가 있었습니다.


설정-소프트웨어 & 업데이트를 선택합니다.

기타소프트웨어 탭


추가버튼을 누르고


deb http://archive.getdeb.net/ubuntu xenial-getdeb apps  


위 내용을 추가합니다.

그리고 확인 후 터미널을 열고

wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -

위 명령을 칩니다.


그 다음


sudo apt-get update

sudo apt-get install avidemux2.6-qt


이제 Avidemux를 설치할 수 있게 되었습니다.


우분투 16.04에서 Avidemux를 쓸 수 있다.


,

어쩌면 황당할 수도 있고 어쩌면 당연할 수도 있지만 제 블로그 방문객들의 정보를 조금 살펴봤습니다.


제 블로그에는 구글의 애널리틱스가 적용되어 있습니다. 제 블로그에 들어오신 분들의 운영체제와 브라우저를 확인하고 약간의 연구를 위해서 6월 한 달 동안 방문객 상황을 확인을 해봤습니다.

우선 브라우저 통계입니다.


브라우저는 크롬이 제일 많은 것으로 나왔습니다. 그도 그럴 것이 전 세계적으로 크롬의 점유율이 60%가 넘었다는 것은 모두가 알고 있는 사실입니다. 그래서 마이크로소프트가 Edge를 만들 때 크롬을 벤치마크 했다는 것은 알게모르게 유명한 이야기입니다. 16%의 IE가 보이는데 제 블로그는 성향상 당연하게도 IE를 싫어합니다. 그래도 의외로 선전하고 있네요. Firefox가 그 뒤를 바로 뒤쫓고 있습니다. 저는 Firefox의 변종인 PaleMoon을 쓰는데 제가 접속을 하면 Firefox로 잡히게 됩니다. 따라서 저 Firefox의 세션 수에서 100~200정도를 빼야 진짜 Firefox로 접속한 방문객 수가 나오게 될 겁니다.


그런데 이상하다는 생각이 드는 것이 이 블로그는 우분투 블로그입니다. 우분투관련 자료를 찾으러 혹은 정보를 찾으러 오시는 분들이 많을텐데 우분투의 기본브라우저인 Firefox가 Windows의 브라우저인 IE보다 적습니다. 이 의문은 운영체제 분석을 보니 바로 알 수가 있었습니다.

우선 제 블로그에서 모바일파트를 확인했습니다. 우선 iOS가 220세션이라고 나옵니다. iOS에서 다른 브라우저는 쓸 것이 못 됩니다. 따라서 위의 브라우저 통계에서 iOS통계의 대부분은 위의 사파리 통계 안에 있다고 봐야 합니다. 실제로 둘이 비슷합니다. 1위는 당연하게도 안드로이드인데 한국에서 안드로이드 점유율이 70%를 돌파한지 오래이기 때문에 당연하다면 당연하다고 할 수 있습니다. 게다가 저는 안드로이드 관련 글도 적고 있습니다. 많이 들어올 만 합니다. 그러면 여기서 위의 크롬을 신경써야 하는 이유가 나오게 됩니다.


안드로이드의 4.0버전 이후 기본 브라우저는 크롬입니다. 실제로 User-Agent String을 보면 안드로이드에서 접속을 해도 크롬이라고 적혀있는 것을 알 수 있습니다. 그런데 781이면 좀 적군요. 즉 대부분 방문객은 데스크탑으로 들어오신 겁니다. 우분투 블로그니까 그러려니 했습니다. 그런데...

여느 블로그와 다를 것 없는 분포도!!!! Linux가 Mac보다 높은 것이 특징이라면 특징이지만...


Windows 접속량이 Linux의 2배를 넘습니다. IE가 접속량 2위인 의문이 풀리는 순간입니다. Windows로 제 블로그에 접속하는 분들이 의외로 많았군요. 제 블로그에서 딱히 긁어갈 정보는 적다고 생각했었는데 아마도 VirtualBox로 우분투를 설치해서 쓰시는 분들이거나(가상머신에서 인터넷하면 죽을맛이지요. 이해합니다.) 회사에서 우분투 사용 정보를 찾는데 사무실PC는 Windows이거나 한 경우인 듯 합니다. 우분투를 저처럼 취미 혹은 주력으로 쓰는 사람은 대한민국에서 꽤 적기 때문에 이런 결과가 나온 것이 아닐까 하는 생각이 드는데요. 그래도 Linux 20%가 Linux1%도 안 되는 나라에서 리눅스 관련 블로그임을 다행히 대변해 주는 듯 합니다.


미리 말씀드리지만 제 블로그에서 해외 접속 비율은 무시할 수 있는 수준입니다. 한국어로만 되어있어서 그렇기도 하고 제가 영어권 사람들을 전혀 배려하지 않았기 때문이기도 합니다. 뭣하면 구글링하면 다 나오니까 굳이 제 블로그에 해외 언어권에서 올 이유가 없습니다. (저부터 필요하면 영어로 구글링합니다. 그렇게 찾은 해답을 블로그에 적기도 하고요.) 결론적으로 말하면:

 제 블로그만 봤을 경우지만 "우리나라 사람들 중에서 우분투라는 것을 아는 사람들은 Windows를 설치한 후에 Chrome도 같이 깐다." 라는 결과가 나오는데요. 다른 사람들은 어떻게 나오는지 궁금하네요. 이런 것을 모으다보면 재미있는 통계학 논문 하나가 나올지도 모르겠습니다.


어쨌거나 흥미로운 결과가 나왔습니다. 저는 Firefox 신봉자이지만 Chrome이 정말 대중화가 잘 되었군요. IE쓰면 컴맹이라는 의견을 주신분도 있지만(사실 대다수 컴맹들이 IE만 쓰기는 합니다. 그렇다고 Chrome 쓰는 사람중에 컴맹이 없는 것은 아니지만)기본 브라우저라는 특성상 어쩔 수 없을 듯 합니다. (Chrome보다 화면 갱신이 빠르던 Edge는 어떻게 되었는가!!!)

일단 6월~현재까지의 결과가 이렇고 학생들의 방학이 시작되는 7월부터는 어떻게 되는지 한번 보도록 해보지요. 그래봐야 블로그 특성상 별 차이 없을 것 같지만(...)

,


작은 스마트폰에 컴퓨터의 화면을 띄우는 것을 목적으로 삽질을 했습니다. 사실 VR용으로도 써 먹어보려고 한 것도 있습니다. VNC도 있고 많이 있지만 저는 여기서 한 걸음 더 나가 PC의 HDMI포트, 혹은 외부 모니터 단자를 사용하여 하드웨어 적으로 네트워크로 뿌리는 것을 목표로 했습니다. 다행히 VNC 수준의 절망적인 속도는 안 나오더군요.


그러기 전에 하드웨어 신호를 직접 네트워크로 뿌려야 하니 필수 하드웨어인 캡쳐보드가 무엇인지 알아야겠습니다. 캡쳐보드는 말 그대로 영상입력장치입니다. 비싼것은 100만원이 넘어가는데다 그나마 쓸만한 놈도 10만원 안팎합니다. PCI슬롯이 없는 노트북에서 사용하려면 Firewire나 USB를 써야 하는데 요새는 Firewire도 없지요. 그 USB방식 캡쳐보드 중 그중 제일 싸구려에 제일 만만하고 제일 여기저기 사용되는 물건이 Easycap(DC-60)입니다. 특징으로는 3만원도 안 되는 가격에 짝퉁이 좀 있어서 대략 4개 업체에서 같은 이름으로 팔고 있습니다.


STK

somagic

UTV007

eMpia


대략 알려진 것은 이렇습니다. 이중 제일 만만한 것이 STK칩셋을 사용한 제품이지만 문제는 어떤게 STK칩인지 모른다는 겁니다. 제일 리눅스에서 사용하기 고통스러운 제품은 somagic칩셋입니다. 다른 칩셋은 커널에 드라이버가 내장되어 금방 잡히지만 somagic은 Broadcom제품처럼 따로 펌웨어를 넣어줘야하는 문제가 있습니다.


저는 일단 국내에서 구하기 쉬운 쪽을 택하기 위해서 조금 신기해보이는 것은 다 파는 컴스마트에서 찾아봤습니다. 역시 있더군요. (하여간 여기는 제가 갖고 싶다고 생각들면 어느새 들여놓습니다. 신기한 회사입니다.)


헐 같은 이름의 물건이 3개다.

이중에서 가운데있는 물건이 eMpia칩셋입니다. 다른 것은 어떻냐고요? 다 Somagic입니다. 오른쪽의 것을 구입했다가 눈물 흘렸던 것은 비밀입니다.


Somagic만 피하면 일단 리눅스로 캡쳐하는 것은 어렵지 않습니다. 드라이버가 내장되어 있어서 별 문제가 없거든요. STK는 Lanstar란 업체에서 수입하는 것을 보이는데 구입해서 뜯어보지 않으면 모른다고 합니다. 그냥 참고하세요.


그럼 리눅스에서 캡쳐는 어떻게 할까요?


일단 제일 쉬운 방법은 http://easycap.blogspot.kr/p/easyview-n-cap.html 이곳에 있는 TVcap 스크립트를 사용하는 겁니다. 일단 실행만 하면 GUI로 옵션을 선택할 수 있어서 편리합니다. 특히 기능이 워낙 충실해서 쓸 곳이 많은 데 EasyCap 사용시 얼어붙어버리는 VLC의 버그를 회피 할 수 있어서 굉장히 유용한 스크립트 입니다. 그러나 단순 화면 재생도 VLC나 Mplayer가 설치되어 있어야 합니다. 그런데 이 중 하나라도 설치 안되어있는 시스템이 있던가요?


또 다른 것은 xawtv를 쓰는 것인데 아마도 제일 가벼운 영상캡쳐 프로그램이 아닐까 생각합니다. 역시 TV를 위해서 나온 것이지만 인터페이스만 익숙해지면 편리합니다. 모르겠으면 화면에 마우스 오른쪽 버튼을 눌러보세요. 하지만 이 프로그램은 재생과 녹화만 잘 됩니다.


그리고 마지막 녀석은...motion 입니다. 뭐냐고 하시는 분이 계실 것 같은데 motion은 라즈베리파이에서 카메라 스트리밍관련 내용을 보면 여기저기에서 쓰이는 것을 알 수 있습니다. 쉽게 말해 영상에서 움직임을 보기위해 만들어진 프로그램인데 웹으로 스트리밍하는 기능이 내장되어 있어서 이걸 써서 다른 플레이어와 연동되게 할 수 있습니다. 제가 이번에 이용할 것은 라즈베리파이와 연동을 해서 스마트폰에 뿌리기까지 하는 것이므로 이걸 쓸 겁니다.



1. 라즈베리파이에 Raspbian을 설치합니다. 라즈비안 설치는 https://www.raspberrypi.org/downloads/raspbian/ 여기서 다운로드 받아서 사용하시면 됩니다. 자세한 내용은 구글 검색하면 쏟아져 나오니 찾아보시면 됩니다. 이름만 보셔도 아시겠지만 데비안 기반입니다.


간단히 SDCARD에 라즈비안을 설치하는 방법은


SDCARD를 넣고 SDCARD의 주소를 확인한 다음 (Gparted를 쓰면 편합니다.)

sudo dd if="라즈비안이미지" of="SDCARD주소 ex) /dev/sdb" bs=4M


이렇게 하면 SDCARD에 라즈비안이 설치됩니다. 해당 SDCARD를 라즈베리파이에 넣으면 일단 라즈베리파이는 준비됩니다.


2. Raspbian 설치후 motion세팅


 Raspbian도 데비안이니 명령어도 동일합니다. (SSH로 접속하면 더욱 편리합니다. 라즈비안은 기본적으로 SSH접속이 허용되어 있습니다. 로그온 이름은 pi 이고 password는 raspberry입니다. raspi-config에서 꼭 password를 바꾸세요)


sudo apt-get update

sudo apt-get install motion


끝입니다.


그리고 /etc/motion/motion.conf 파일을 수정해야 하는데 수정된 파일을 올려놓겠습니다.

motion.conf

여기서 장치 이름을 /dev/video1로 되어 있는 것을 /dev/video0로 바꿔주셔야 합니다.


3. Easycap 연결

Easycap을 라즈베리파이의 USB포트에 꽂습니다. 즉 라즈베리파이에 영상신호를 넣는 것입니다. 해당 영상은 어떤 것이든 상관 없지만 RCA(AV코드)이므로 여기에 맞게 쓰는 것이 좋습니다. 만약 HDMI를 사용한다면 HDMItoAV같은 장비를 써서 RCA로 넣어야 합니다. 만약 RCA가 너무 구리다고 생각하시면 S-Video를 쓰시면 조금 낫습니다. 화질 문제는 싸구려에게 많은 것을 바라면 안 됩니다. (RCA는 케이블 품질 특성을 많이 탑니다. 그래봐야 HDMI에 비해 현저히 구리지만)


EasyCap같은 캡처보드는 HDMI따위는 지원을 안하기에 이런 장비가 필요하다. 대만에서 만들어진 것으로 추정되는 HDMI to AV 제품 약 2만원 정도



자 이제 motion을 실행해 봅시다.


sudo motion(관리자 권한 필수 싫으면 /dev/video0를 666으로 세팅하면 됩니다.(sudo chmod 666 /dev/video0)


X없이 사용하시는 것이 좋습니다. 라즈베리파이의 IP주소를 알아내고 스마트폰용 웹브라우저에서 다음과 같이 넣어봅시다.

(안드로이드는 모바일 크롬 추천...아이폰은 사파리 추천)


http://라즈베리파이IP주소:8081


이러면 RCA로 입력된 영상이 뜹니다. 여기서 녹화를 하신다거나 추가 작업을 하신다면 라즈베리파이외의 같은 네트워크상에 있는 다른 PC에서 VLC를 쓰시면 편리합니다.


즉 포트만 열어주시면 아프X카 같은 사이트를 이용하지 않고 직접 웹에서 방송하는 것도 가능합니다. 대역폭 문제가 있지만 우리나라 통신망의 대역폭은 무지막지합니다. 별로 문제가 없습니다.


이렇게 VLC로 스트리밍 받거나 (화면은 Xbox One의 화면 HDMI밖에 안 나와서 하는 수 없이 컨버터를 구입했다.)

이렇게 크롬으로 직접 영상을 전송 받을 수도 있다. 만약 웹으로 받으려면 img src="라즈베리주소" 태그면 충분하다



문제는 사운드인데 

cvlc -vvv alsa://plughw:0 --realrtsp-caching 20 --rtsp-caching 20 --sout '#transcode{acodec=s16l,samplerate=44100}:rtp{sdp=rtsp://:8082/,caching=10}'


이렇게 vlc-nox를 설치해서 소리를 전송하려고 하니 (rtsp://라즈베리IP주소:8082/ 를 audio 태그 혹은 VLC에서 재생 및 녹화)Easycap 자체가 워낙 구려서 추천하지 않는다고 합니다. 2300원짜리 USB 사운드 카드도 하나 구비해야 할 듯합니다.


사운드 부분 작업 중.


요놈을 추가로 더 구입했습니다. 7000원 더 들었네요.(2300원짜리는 단종되었다고 합니다...허)



USB 사운드카드 하나를 샀습니다. 어차피 EasyCap은 병맛이라고 하니까요. 우선 라즈베리파이 내장 사운드카드를 죽이도록 하겠습니다.


http://www.instructables.com/id/Disable-the-Built-in-Sound-Card-of-Raspberry-Pi/step3/Test-that-sound-card-is-NOT-detected-by-ALSA-Nativ/

위의 내용에 의하면 

/etc/modprobe.d/alsa-base.conf

여기에

blacklist snd_bcm2835

위의 내용이 들어가면 라즈베리파이 내장 사운드카드를 죽일 수 있게 됩니다.


그다음 aplay -l 명령을 썼을 때 BCM칩이 안 뜨면 죽은 겁니다. 물론 녹음 쪽이 더 중요하니까

arecord -l

위 명령을 써보시는 것이 더 좋습니다.


그 다음 RCA to Stereo 케이블을 사용해서 RCA사운드(빨간색-흰색)단자를 USB사운드카드의 마이크부분에 꽂습니다. 일단 작동은 되는 듯 합니다. 그런데 사운드가 미친듯이 깨집니다.


아마도 PC에서는 문제가 없었던 것을 봐서 라즈베리파이의 성능문제 혹은 설정 문제일 것입니다. http://www.raspyfi.com/raspberry-pi-usb-audio-fix/

여길 보니 설정 문제인듯 합니다.


우선 rpi-update를 설치한다.


sudo apt-get install rpi-update


그 다음


sudo rpi-update


를 실행 업데이트가 완료되면


sudo shutdown -r now


일단 이걸로 대충은 해결이 된다고 하는데 일단 해보고 나머지 포스트.


대충은 VLC에서 소리가 나오기는 하네요. 됩니다.


 그러기 전에 라즈베리파이에 자동 실행이 되도록 약간 손을 좀 봐야 하는데요.

/etc/rc.local 파일을 손을 보겠습니다.


sudo nano /etc/rc.local


위 명령을 사용하면 rc.local 파일을 수정할 수 있게 되는데


exit 0 위에 다음과 같이 적습니다.


sudo motion &


그런데 VLC는 root로는 실행이 되지 않습니다. 그러면 유저모드에서 실행을 하게 하면 됩니다.


sudo raspi-config에서 Boot Options으로 들어간 뒤에 Autologon을 설정합니다.

그리고

sudo nano ~/.profile


여기서 제일 아래에


cvlc -vvv alsa://plughw:0 --realrtsp-caching 10 --rtsp-caching 10 --sout '#transcode{acodec=s16l,samplerate=44100}:rtp{sdp=rtsp://:8082/,caching=10}'  


이걸 넣어주시면 자동으로 실행 됩니다.


이렇게 하면 8081포트로는 화면을 8082 포트로는 wav로 rtsp프로토콜 사운드를 전송하게 됩니다. 그럼 이걸 어떻게 모바일로 확인하는지 알려드리겠습니다.


영상은 이전과 같이 Chrome을 사용하고 사운드는 VLC를 사용하면 됩니다. 이는 PC도 마찬가지입니다. OS를 가리지 않는 두 프로그램을 사용하기 때문에 절대로 OS 호환 문제가 생기지 않습니다. 심지어 이거 iOS도 됩니다. 사파리+VLC를 쓰면 됩니다.



일단 안드로이드에서는 위와 같은 방법을 쓰고 우분투 PC에서는 ffplay를 쓰는것이 가장 나았습니다.


만약 라즈베리파이 IP가 192.168.0.21 이라면

ffplay -f mjpeg -probesize 32 -i http://192.168.0.21:8081 -vf yadif  &
ffplay -i rtsp://192.168.0.21:8082/


위의 내용을 터미널에 넣으면 실행이 완료됩니다. yadif 필터를 먹였으므로 RCA특유의 인터레이스 화면도 필터링됩니다.

,