Showing posts with label 바닥. Show all posts
Showing posts with label 바닥. Show all posts

2008/01/16

AVI 동영상 파일의 기본 정보 확인하기

Mu908용으로 mencoder 의 프론트엔드 프로그램을 하나 만들다 찾게된 팁이다.

AVI파일에서 기본 정보(해상도, fps, 재생시간)을 가져오는 코드이다.

#pragma link "avifil32.lib"
#include <vfw.h>

AVIFileInit();
PAVIFILE avi;
int res=AVIFileOpen(&avi, strFile.c_str(), OF_READ, NULL);
if (res!=AVIERR_OK)
{
//An error occures
if (avi!=NULL)
AVIFileRelease(avi);

return;
}

AVIFILEINFO avi_info;
AVIFileInfo(avi, &avi_info, sizeof(AVIFILEINFO));

// Frame per Second
float fps = (float)avi_info.dwRate / (float)avi_info.dwScale;
// Running second
float Running = avi_info.dwLength / fps;

String strAviInfo;
strAviInfo.sprintf("%dx%d (%d frames)",
avi_info.dwWidth,
avi_info.dwHeight,
avi_info.dwLength);

AVIFileExit();

Original Post : http://neodreamer-dev.tistory.com/35

2008/01/12

Mu908 바닥으로 24fps 영상을 즐기자!!

Mu908을 구매하였다.

Mu908은 스펙상 220x170 의 Xvid 포맷의 24fps 동영상을 지원한다고 한다.

이 제품에서 일반 동영상을 보려면 우선 변환을 해야 한다. 스펙에 맞는 코덱과 사이즈로...

제조사측에서 제공하는 프로그램은 AVIConverter 인데 자신들의 프로그램이 아닌 것으로 보인다. 제조사측의 권장사항은 자막을 입히거나 하는 작업을 바닥이라는 변환툴을 이용하여 변환을 하고 AVIConverter로 변환하는 것을 추천하고 있다.

그런데 난 싫다.
왜냐하면 두번이나 변환을 해야 하니 시간이 소요되고 귀찮은 일이 아닐 수 없기 때문이다. 또한 AVIConverter는 변환 과정을 지극히 단순해 누구나 쉽게 사용할 수 있을지는 모르겠지만 결과물이 좋지 않고 fps도 20으로 고정되어 있다.

AVIConverter 를 통해 만들어진 영상의 코덱정보를 확인해 보았다. 확인을 해보니 AVIConverter도 역시 mencoder의 프론트엔드 프로그램일뿐 별게 없었다. 바닥같은 툴에서 지극히 아주 지극히 단순화 시켜놓은 툴이라 할까? 바닥도 mencoder를 사용하고 AVIConverter도 mencoder를 사용하는데 왜 같은 encoder에 두번 변화를 시켜야 하는지... 아마도 AVIConverter를 직접 만들지 않아 어떻게 변환되는걸 모르고 있는건 아닐까 하는 위험한 상상이 든다.

몇시간 걸쳐 바닥에서 Mu908에서 바로 볼 수 있는 동영상을 만드는 방법을 알아 내었다.
데스크탑과 노트북에서 모두 테스트 해보았으니 아마 잘 되리라 생각된다.

바닥에서 Mu908에서 볼 수 있는 동영상 만들기

바닥 프로그램 다운받기
우선 바닥 프로그램을 실행 시킨다. 변환하고자하는 파일을 추가한다.
사용자 삽입 이미지

변환하고자 하는 파일을 바닥의 파일 목록에 드래그앤 드롭하면 쉽게 리스트에 추가할 수 있다. 이때 확장자가 smi 인 파일이 동영상과 함께 있어야 자막을 입힐 수 있다.

다음으로 인코딩 환경 설정 버튼을 눌러 환경을 선택한다.
사용자 삽입 이미지

중요한 설정이 몇가지 있다.
화질 : 500
빠른 움직임의 동영상의 화질 저하를 줄이기 위해

프레임 : 24.000
20fps 보다는 24fps가 화질이나 모든 면에서 좋겠죠? *^^*

크기 : 224x176
기기스펙은 220x176인데 이상하게 그 해상도는 재생이 안된다. AVIConverter에서 만들어진 동영상을 참고해 224x176으로 바꾸니 정상 재생이 되었다.

잘라내기 : 선택해제
잘라내기는 옆으로 긴 영화를 특정 사이즈로 자르는 기능이다. 이걸 활성화 하면 잘려나가 못 보는 부분이 생길 수도 있다. 작은 화면에서야 조금 잘린다고 크게 눈에 띄는건 아니겠지만...

필요한 경우 영상 확장 : 선택
와이드 영상의 경우 아래위로 래터박스를 만들어 준다.

대상크기에 꽉찬 화면 만들기 : 선택해제
주어진 해상도에 원본영상을 맞추어 준다. 와이드 영상의 경우 많이 찌그러지게 된다.

다음은 영상확장과 꽉찬 화면의 선택에 따른 화면이다.
아무런 선택없이 와이드 영상을 변환했을때 만들어진 해상도는 224x96 이다.
사용자 삽입 이미지







필요한 경우 영상확장을 선택한 경우 와이드 영상 변환시 레터박스가 생기고 자막도 보기 좋아진다.
사용자 삽입 이미지












꽉찬 영상을 선택한 경우 화면에 꽉차도록 큼지막한(?) 영상이 만들어 진다.
사용자 삽입 이미지












자막 파일 영상에 삽입하기 : 선택
자막 파일을 영상에 입혀준다. 위에서 예로 보여준 화면을 보면 자막을 입힌 상태이다.

환경 설정에서 가장 중요한 오늘의 하이라이트 이다.
바로 추가 옵션이다. 이 옵션을 넣어 주어야지만 Mu908에서 재생이 된다.
-xvidencopts max_bframes=0:quant_type=h263
인터넷을 찾아 돌아다니다 알아낸 옵션인데 자세히는 모르겠지만 이 옵션이 없으면 오디오와 영상이 부분부분으로 나뉘에 담기게 되는데 그럴경우 Mu908에서 재생이 되지 않는다. 그게 재생이 된다면 가끔씩 오디오와 비디오가 싱크가 맞지 않는 문제가 발생 할 일이 줄어 들텐데...

그 다음으로 소리 설정이다.
사용자 삽입 이미지
소리 설정은 오디오 코덱과 음질과 샘플 비율만 맞추어 주면 된다.

코덱은 MP2, 음질은 128, 샘플비율은 44100 으로 맞춘다.

마지막으로 자막 설정이다.
사용자 삽입 이미지
자막은 크기만 설정하면 되는데 위의 샘플영상의 폰트가 5이니 취향에 맞게 크기를 조절하면 된다.

이제 환경설정 창을 닫고 작업 시작 버튼을 누르고 기다린다.
프로그램에도 있듯이 남은 시간을 믿지는 말고 작업로그창에 완료 메세지가 나오기를 기다리면 된다.
사용자 삽입 이미지

완료 되면 변환된 영상을 Mu908에 넣고 즐기면 된다

Original Post : http://neodreamer-dev.tistory.com/30

MU-908을 받다.

이틀만에 배송이 되었다.

택배사와 아파트 경비 아저씨들간의 실갱이로 더 늦게 받을 뻔했는데 다행이 오늘 받을 수 있었다.

기본 세트에 충전기와 실리콘 케이스를 구매를 하였다. 포장은 지극히 평범하였고 내용물은 아무 손상이 없었다.

우선 화면이 어떻게 생겼는지 한번 보았는데 약간 실망했다. 광고에서 보던 그런 화면이 아니여서였다. 광고에서는 화려하고 깔끔하게 나왔는데 역시 장시치들 광고는 신용을 해서는 안되는가 보다.

기본적으로 들어있는 mp3를 외부 스피커로 들어 보았는데... 흠 글쎄.. 최악의 경우가 아니면 그냥 이어폰으로 듣는 것이 좋을 듯 해보였다. (아마도 주위에 소음때문에 그런 생각이 든 듯하다.)

우선 홈페이지에 최신 펌웨어를 받았다. 그런데 제작사 측에서는 특별한 문제가 없는 한 펌업을 하지 않는것이 좋다 한다. 왜그럴까? 대부분의 멀티미디어 기기는 최신 펌웨어를 권장하지 않나? 지금 쓰고 있는 PMP만해도 그런데...

어쨌거나 2007년 12월 24일 날짜의 최신 펌웨어를 받아서 업그레이드를 시도하였다. 첫번째 시도는 실패.
홈페이지에서 최신 펌웨어 업데이트 프로그램이라 받아서 설치한건데 안된다. Vista 지원 최신 프로그램인데... 그래서 다른 프로그램이 있는이 찾아 보았다. Vista 지원전의 프로그램을 설치하여 일단 펌업은 성공하였다. 유저 클럽에서 폰트도 바꿔 보려 했지만 일단 보류(시스템 부터 파악하기 위해...)

일단 mp3는 기본이겠거니 생각하고 동영상을 테스트 해보았다.
장비 스펙에는 Xvid 코덱의 220x170을 지원한다 그래서 바닥이란 변환툴을 이용하여 변환을 하고 재생을 시도해 보았지만 실패하였다. 그래서 제작사 측에서 제공하는(사실은 아닌듯) AVIConverter 를 이용하여 변환하니 재생이 잘 되었다. 뭐가 다른가? 하는 의구심이 생겨 코덱을 비교해 보니 화면 크기와 fps 등 몇가지가 달랐다.

AVIConverter 만을 사용해야 하는것인가? 제작사 사이트에서도 바닥으로 자막을 입히고 AVIConverter로 변환을 하라는데...
다른 방법을 찾아 보아야겠다.

Original Post : http://neodreamer-dev.tistory.com/29