2018년 1월 16일 화요일

MMC/SD Drive V3 제작 #16 - 동영상 변환 갑니다~

지난주에 동영상 재생 기능을 구현했는데요.

BIOS랑 유틸을 정리해서 업로드했습니다. 자료실 참고하시구요.


그럼, 이번엔 변환 유틸을 실행하는 방법을 보여드릴께요.


아마 써보신분 계시겠지만ㅋ

MMC/SD V2 용 변환툴은 사용법이 매우(!) 복잡했었는데요. ㅎ.ㅎ

이번 MMC/SD V3 용 변환툴은 FFmpeg을 이용해서 쉽게 동작하도록 만들었습니다.



1. 준비물

   MMCSD_AVGEN.exe

    -> MMC/SD BIOS 툴 묶음파일에 들어있습니다.


   ffmpeg.exe, ffprobe.exe

    -> FFmpeg 툴에 포함된 프로그램입니다.

       https://ffmpeg.org 에서 다운로드하시면 됩니다.


   유틸을 같은 디렉토리에 모아둡니다.

   (윈도의 PATH가 걸린 곳에 유틸을 옮기셔도 좋습니다.)




2. 실행 방법


   아래는 윈도의 커맨드 창을 열고 MMCSD_AVGEN을 실행한 모습입니다.




   MMCSD_AVGEN 동영상파일명 [엔터]입력하면 됩니다.

   옵션으로 볼륨, 밝기 등을 조절할 수 있습니다.


   /Dn: audio Delay  (n = 0, <1>, 2, ... 8)

        오디오 출력에 딜레이를 줍니다. (기본값 1 = 1프레임 딜레이)

        영상 프레임단위의 딜레이입니다.

        사용자 환경에 따라 설정하면 됩니다.


   /Vn: Volume boost (n = <0>, 1, 2, ... 9)

        오디오 볼륨을 높입니다. (기본값 0 = x1.0)


   /Bn: Brightness boost (n = <0>, 1, 2, ... 8)

        영상 밝기를 높입니다. (기본값 0 = x1.0)


   /R : Remove side black-bar (4:3 image on 16:9 video)

        기본값은 OFF입니다. /R을 넣으면 켜지는 옵션입니다.

        4:3 영상을 16:9 비디오파일로 만든 경우가 있는데요.

        영상을 보면, 좌우에 검은 띠가 있습니다. 이때 쓰시면 됩니다. 



3. 실행 예


   아래는 "Ys ETERNAL.mp4" 영상을 변환하는 모습입니다.




   원본 영상의 사이즈는 720p(1920 x 720)입니다.

   MSX의 스크린2 화면 비율에 맞게 적당히 자르고 눌러서(?) 만듭니다.

   ffmpeg 구동 시의 필터 설정을 확인할 수 있습니다. (Crop, Pad ... 등)

   참고로 프로그램 동작 시, 작업 용으로 임시 디렉토리를 생성됩니다. (작업 완료 후 삭제됨)


   오디오(PCM) -> 비주얼라이저(PAC-V) -> 비디오(스크린2) 순으로 진행됩니다.


   아래는 변환이 완료된 모습입니다. 72MB짜리 MV파일이 생성되었네요.

   최종 출력 파일의 이름은 MMCSD_V3.MV으로 되어있습니다.

   적당히 이름을 바꿔서 MSX에서 쓰면 되겠습니다.





4. MSX에서 재생


   MMCSD.COM 파일명 [리턴]하면 영상이 재생됩니다.

   아래는 변환된 이스 이터널 오프닝이 재생되는 모습입니다.






궁금한 부분 있으시면 댓글 붙여주세요~ ㅎ.ㅎ


2018년 1월 8일 월요일

MMC/SD Drive V3 제작 #15 - 동영상을 돌려보아요!

아마 기억하시는 분이 계실 듯 하네요.

2009년에 MMC/SD V2용으로 동영상 플레이어를 만들었는데요.

크기는 좀(많이) 작지만 스크린12의 컬러풀한 영상을 볼 수 있었지요. 12FPS입니다.

궁금하시면 이쪽으로 --> https://youtu.be/1NytCAW1Dws


이번엔 MMC/SD V3로 조금 다른 방식의 영상을 만들어보았습니다.


스크린2 모드의 풀스크린(256 x 192 픽셀)으로 12FPS 영상을 구현했습니다.

스크린2를 사용하지만 V9938의 넓은(?) VRAM과 팔레트를 활용해서,

어느정도 최적화된 화면으로 인코딩을 해보았어요.


영상 데이터는 FAT16 드라이브에서 파일을 읽어서 표시합니다.

참고로 FAT16 드라이브의 최대 용량은 4GB인데요. (클러스터 64KB 경우)

이번 동영상 플레이어는 용량 제약이 없어서, 4GB 단일 파일로 쭈욱 재생할 수 있습니다.

(예전 MMC/SD V2에서는 64MB 영상이 최대 크기였지요.)


오디오 출력으로는 터보알 PCM 또는 코복스 PCM을 사용할 수 있습니다.

샘플레이트는 13KHz 정도되구요.


결론적으로, MSX2 기종에서 MMC/SD V3 + Covox만 꽂으면 영상을 볼 수 있다는 얘기지요.



아래는 영상재생 중에 찍은 사진입니다.

스크린2라서 한번에 16색 밖에 표시 못하지만, 적절한 팔레트 선정과 디더링으로...

사람 얼굴 정도는 식별 가능합니다. ㅎ.ㅎ;;





설명이 길었네요. 영상 몇개를 조금씩 재생해보았습니다. 한번 보시지요~

Big Buck Bunny -> Apink의 Mr.Chu -> IU의 좋은날 -> YS2 이터널 오프닝

순으로 나옵니다.





영상 하나 더 가욤~

요건 Bad Apple로 알려진 영상입니다.





그럼, 이만 물러갑니다~ ㅎ.ㅎ