'CODEC'에 해당되는 글 2건

  1. 2020.11.04 Hardware | Anker PowerConf 간단 사용기
  2. 2017.09.14 Software | FFmpeg 를 사용하여 동영상을 회전시켜 보자

Hardware | Anker PowerConf 간단 사용기

|

1. 언텍트 시대


COVID-19 로 인하여, 업무 스타일이 많이 바뀌었습니다.

일하는 형태도, 굳이 사무실 출근이 아니라, 원격에서 근무하는 모습으로 바뀌어 가고 있죠.


글로벌 비지니스를 하는 회사들은 원래부터 그랬었지만, 이제는 일반 회사에서도, 고객들도 원격으로 일하는 시대가 도래 했습니다.

원격 미팅이 많아지는 요즈음, 회사에서 컨퍼런스 스피커 폰을 지급 받았습니다.


ANKER PowerConf





2. PowerConf


대략 사양은 다음과 같습니다.


- Bluetooth

- 360도 / 5m 범위로 목소리 커버

- 6개 마이크로 목소리 캐치

- 24시간 회의 지속 가능

- USB-C

- 회의 하면서 모바일 기기 충천도 가능

- 깔끔한 디자인과 가벼움 (?)

- 여행 케이스



Portable Bluetooth Speakerphone 이라고 합니다.



케이스 뒷면.



정식 명칭은 Anker - Anker PowerConf... UN Black Iteration 1 이라는군요.



케이스를 열면 캐링 케이스에 수납된 본체를 볼 수 있습니다.



구성품은 본체, 캐링 케이스, USB-C 케이블이 전부 입니다.





3. 연결


Power 버튼을 꾹~ 누르고 있으면, 근처의 PC 에서 Bluetooth 를 인식합니다. 연결은 one click 으로 끝났습니다. 이렇게 쉽게?



PC 와 연결 되면, 오른쪽 Bluetooth 인디케이터 LED 도 점등 됩니다.





4. 소리 조절


일단 PC 와 연결이 되면, PC 에서 소리 크기 조절은 먹히지 않고, 오로지 본체의 -/+ 버튼으로만 소리 조절이 됩니다.


살짝 불편할 수도 있겠지만, PC 에서는 소리를 줄인 상태로, PowerConf 에서도 같이 줄이거나 그 반대라고 한다면, 그 정도가 어디까지 알 수 없는 등, 기준이 없어집니다.


차라리, 한번 연결이 되면, 소리 음량 조절은 PC 에서 조작하지 않고, 오로지 본체에서만 따로 작동하는 방법도 좋아 보이는 군요.

아래 사진은, 소리를 1/3 정도로 키운 상태. 파란색으로 그 정도를 나타내 줍니다.



아래 사진은 mute (소리 소거) 상태. 전체를 빨간 색으로 알려 줍니다.



알아보기 쉽게, 조작 동영상 입니다.





5. 이어폰 연결


AUDIO 로 이어폰 연결해 봤습니다.



소리가 좋습니다. 렙탑에 연결 했을 때보다 소리가 훨~~~~~~~~~~~~~~~~~씬 좋습니다.

내장된 CODEC 이, 렙탑 내장 기본 코덱보다 좋은 것을 사용 했네요. 소리의 품질이 중후하며 선명합니다.



블루투스 무선이라는 장점으로 이어폰만 연결하면 선이 간결하고, 놔둘 위치를 쉽게 바꿀 수 있어서 편합니다.

요즈음은 PowerConf 를 이어폰 용으로 주로 사용하고 있네요.


예전에 Jabra 510 시리즈를 사용해본 경험으로 비교해 보자면, 음질이나 Bluetooth 무선, 배터리 내장, USB 로 다른 기기 충전 가능 등,

비교 불가 입니다.


이쪽 관련 기기는 전동적으로 Jabra 였지만, 이제는 아닌것 같습니다.



Update - 20210113


배터리 충전 상황을 확인하고 싶을 경우에는 제어판에서 연결 상태를 확인하면 충전량 확인이 가능합니다.



And

Software | FFmpeg 를 사용하여 동영상을 회전시켜 보자

|

1. Tistory


iPhone 에서 찍은 동영상을 Tistory 에 올리다 보면,

스마트폰을 분명 가로로 눕혀서 찍었는데도 불구하고 세로로 올라가는 경우가 있습니다.


포탈에서 검색해 보면,

여러 상용이나, 무료 소프트웨어에서 "회전" 시켜주는 방법이 소개됩니다.


다만,

상용은 돈을 내야 하고, 무료 소프트웨어더라도 이 "회전" 이 들어가면 유료버전을 사용하라고 뜹니다. (아놔)

"내가 이거 돈들지 않고 고쳐본다" 라는 오기가 생기더군요.




2. FFmpeg


예전 미디어 스트리밍 업무에 관여하고 있을 시,

FFmpeg 라는 command line 어플을 알게 되었습니다.


여러 상용 transcoding / encoding 소프트웨어가 시장에 나와 있지만,

입맛에 맞게 in-house 개발을 하려면 FFmpeg 밖에 답이 없어 보였습니다.


그래, FFmpeg 라면 분명 뭐가 있을꺼야 라는 생각으로 작업을 시작해 봅니다.


일단 아래 link 에서 최신판 FFmpeg 를 다운로드 받습니다.


https://www.ffmpeg.org/download.html



참고로 FFmpeg 는 update 가 잘 되는 편이라,

예전 버전을 가지고 있으면 기능을 원활하게 구현하지 못하거나 더 좋은 방식을 못쓰는 경우가 있습니다.

꼭 최신판을 받으세요.


Windows 라면, directory 를 하나 만들어서 압축을 풀어 놓습니다.


실행 파일은 bin 폴더 밑에 ffmpeg.exe 파일 입니다.

자 시작해 볼까요?


참고로, 원본 파일은 다음과 같이 80MB 의 mov 파일 입니다.
확장자가 MOV 인것은 iPhone 에서 찍은 동영상이라서 그래요.
동일한 H.254 CODEC 인 MP4 도 당연히 가능합니다.





3. 단순한 metadata 수정으로 회전시키기

회전이라는 것은, 동영상의 property 중에서 회전 부분에 들어간 인자로 인하여
Tistory 어플이 그렇게 인식하고 회전시켜버렸을 수도 있습니다.

그러니 회전 관련 metadata 를 날려주면 될 것 같네요.

관련 command 는 다음과 같습니다.
"v:0" 로 지정된 input_filename.mov 에 "rotate=0" 를 넣으라는 이야기 입니다.

동영상 자체가 16:9 비율로 찍혀 있는 (가로) 정보가 있으므로,
회전만 없애주면 되겠지요?


ffmpeg -i input_filename.mov -c copy -metadata:s:v:0 rotate=0 output_filename.mov

실제로 실행시킨 화면 입니다.



"ffmpeg.exe" 가 실행되면서 동영상 파일의 여러 property 를 보여주는데,

"rotate : 90" 로 되어 있는 것을 확인할 수 있습니다.


metadata 만 바꾸어 주는 것이므로, 실행은 바로 끝나고 화일 용량도 거의 같습니다.






4. data 자체를 실제로 회전시키고 re-encoding 하기


부제목 그대로, data 자체를 회전시키면서 재 encoding 하는 방법입니다.

실행 command line 은 다음과 같습니다.

ffmpeg -i input_filename.mov -vf "transpose=2" output_filename.mov


여기서 중요한 key 는 "transpose=X" 입니다.


0 = 90CounterCLockwise and Vertical Flip (default)
1 = 90Clockwise
2 = 90CounterClockwise
3 = 90Clockwise and Vertical Flip


원본 소스가 시계방향 90 도로 틀어져 있으므로,

옵션 2를 선택하여 시계 반대방향 90 도로 지정하였습니다.


아래는 실제 실행시킨 화면 입니다.



metadata 단순 수정과는 다르게, 여러 정보가 쏟아져 나옵니다.

이는 실제로 re-encoding 을 통하여 모든 동영상 data 를 다시 구성했기 때문이지요.


80MB 짜리 mov 파일을 랩탑에서 돌리는데, 약 3분정도 소요된것 같습니다.


encoder 도 원본은 H.264 인데,

FFmpeg 를 거치면서 Lavc57 로 변경되었습니다. 아무래도 CODEC license 문제를 피해가기 위함인 듯 하네요.


완료 파일도 20MB 로 줄어들었습니다.




줄어들어서 좋긴 하지만,

인코딩 횟수를 더하면서 동영상 화질의 열화를 가져다 줄 듯 합니다.




5. 결과


* ORIGINAL

Tistory 에 바로 올리면 이렇게, 오른쪽 90도 틀어진 상태로 올라가게 됩니다.




* METADATA 삭제

metadata 만 삭제한 버전입니다.

문제 없이 원래대로 돌아 왔죠?




* RE-ENCODING

"transpose=2" 를 사용하여 re-encoding 시킨 파일 입니다.

잘 되돌려 놓기는 했습니다만, 살~짝 위의 metadata 와 비교시 화질 열화가 있습니다.


다만, 80MB --> 20MB 로 줄이면서 거의 차이가 없는 정도이므로,

시간이 허락한다면 이렇게 해도 문제는 없겠죠? 선택은 사용자가 판단하면 될 듯 해요.





6. 그럼 180 도 회전은?


180도 회전이 필요한 동영상은 "vflip + hflip" 으로 하면 될것 같습니다.


https://ffmpeg.org/ffmpeg-filters.html


다만, 이렇게 하면 화면이 뭉개져 버립니다. 이게 FFmpeg 를 사용하는게 어려운 점인것 같아요.

(Linux 버전에서는 테스트해보지 못했습니다.)


180도 회전을 하고싶은 경우는 아래와 같은 순서로 해야 합니다.


1. rotate=0 를 먹여서 metadata 를 reset 한다. (rotate=180 이 먹지 않는다.)

2. vflip + hflip 을 이용하여 180 도 회전 효과를 낸다.


명령어는 다음과 같이 하면 됩니다.


ffmpeg.exe -i R:\White_LED.MOV -c copy -metadata:s:v:0 rotate=0 R:\out.MOV

ffmpeg.exe -i R:\Out.MOV -vf "vflip,hflip" R:\vhflip.MOV


아래는 처음 원본 source 이고, 그 다음은 "rotate=0 --> vflip + hflip" 한 결과 입니다.

우선 "rotate=0" 입니다. 상하가 그대로죠?



아래는 최종적으로 "vflip + hflip" 한 결과 입니다.



잘 되죠? :-)


화질 저하는 거의 느끼지 못할만큼 있지만, 용량은 re-encoding 을 통하여 1/4 이상 줄었습니다.






7. Reference


아래 link 는 FFmpeg 을 이용한 회전 사용법에 대해 알아본 stack overflow 입니다.


https://stackoverflow.com/questions/20664460/remove-rotate-metadata-from-mp4

https://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg/9570992#9570992

https://stackoverflow.com/questions/15335073/can-i-set-rotation-field-for-a-video-stream-with-ffmpeg/15336581#15336581




FIN

후훗, 이제 걱정 없구만.

다 덤벼~!

And
prev | 1 | next