3년쯤 전에 모든 미디어를 mp3/m4a로 변환하는 프로그램을 간단히 만들었었다.

물론 iTrans와 유사하게 ffmpeg 등의 프론트엔드.


당시엔 단순히 오디오로 변환하는 것만 집중해서 간단히 만들었었는데, 그간 iTrans에 적용했던 기술들을 좀 추가하기로 했다.

임시파일 생성을 최소화하고 태그 정보를 복제하는 등의 업데이트를 적용했다.


이 프로그램에서 지원하는 미디어 파일의 종류는 다음과 같다.


- 비디오: avi, mkv, flv, ogm, mp4(m4a, m4r), mov, swf, wmv, asf, mpeg(mpg, dat, vob, m2ts, ts, ps), webm, rm(rmvb)
- 오디오: mp2, mp3, ac3, dts, wma, aac, wav, flac, ra, amr


이 프로그램의 기능은 아래와 같다.


- 비디오/오디오 파일에서 오디오를 mp3/wav/m4a로 변환

- 원본의 작곡가/트랙 등 태그 정보를 복제[각주:1]

- 원본의 커버 아트를 복제[각주:2]

- 오디오 음량 정규화


프로그램은 아래 링크에서 다운받을 수 있다.

Any2MP3_210a.part1.rar

Any2MP3_210a.part2.rar




▲ 버전 히스토리


2014. 9. 10: 2.0

- 2.x대 첫 릴리즈

- VBR로 mp3를 인코딩할 때 비트레이트에 맞는 레벨 적용

- 정규화 정도를 dB 단위로 지정

- ffmpeg을 1.2로 업데이트

- MediaInfo를 0.7.70으로 업데이트

- lame.exe 제거

- AtomicParsley 적용


2014. 9. 13: 2.1

- mp3의 태그가 ANSI 포맷인 경우에도 정상적으로 읽고 쓰도록 수정

- mp3/m4a 파일의 태그만 다시 쓸 수 있는 as-is 모드 추가

- ffmpeg을 2.2.1로 업데이트[각주:3]


2014. 9. 14: 2.2

- wav 파일에도 태그 정보를 제대로 기록하도록 수정[각주:4]


2014. 9. 15: 2.2a

- tools 폴더가 없을 때 오류 발생하던 문제 수정


2014. 9. 21: 2.4

- 비스타 이상에서 변환시 UTF-8 포맷으로 배치파일 생성하도록 수정
- 비스타 이상에서 변환시 8.3 포맷이 아닌 긴 이름을 사용하도록 수정[각주:5]
- 전체적으로 소스 코드 정비


2014. 9. 21: 2.5

- as-is 모드 동작 방식 변경: mp3/AAC 오디오가 있을 때만 추출하도록 수정(기존엔 원본 자체가 mp3/M4A일 때만 동작)

- 버그 수정: XP를 비스타로 인식하는 오류 수정


2014. 10. 6: 2.5b

- 비스타 이상에서도 변환시 8.3 포맷을 사용하도록 수정 (2.4의 수정 내용 취소)

- 화면 배치를 iTrans와 유사하도록 미세 조정


2014. 11. 16: 2.6

- 원본 파일이 너무 큰 경우 가끔 변환에 실패하는 문제 수정

- 오디오 변환 시간을 조금 빠르게 수정

- mediainfo를 0.7.71로 업데이트

- 컴파일러를 Visual Studio 2013 Update4로 교체


2014. 12. 4: 2.6a

- 버그 수정: ts/tp/rm 파일을 드래그 앤 드롭하지 못하던 문제 수정


2015. 1. 2: 2.6b

- 구글 드라이브로 배포하도록 수정

- UI 수정(아이콘 변경, 연도 수정 등)

- ffmpeg을 2.5.2로 업데이트


2015. 2. 11: 2.7

- 버그 수정: FLAC 변환시 아티스트/앨범아티스트 태그를 잘못 처리하던 문제 수정

- 버그 수정: mp3로 변환시 연도 포맷이 이상하게 기록되던 문제 수정

- ffmpeg을 2.4.5로 다운그레이드 (mp3 변환 오류 원인이 ffmpeg 2.5.2의 버그임)

- 7-zip 대신 rar로 압축하여 배포하는 것으로 변경

2015. 9. 26: 2.8

- 버그 수정: 가끔 2CH 이상을 2CH로 잘못 인식하는 경우 정상처리하도록 수정

- 변환 가능 포맷에 amr(Adaptive Multi-Rate) 추가

- 컴파일러를 Visual Studio 2015로 교체

- ffmpeg을 2.7로 업데이트

- mediainfo를 0.7.77로 업데이트


2015. 12. 20: 2.9a

- 아이콘 색상 변경

- 샘플링 레이트가 48k를 초과하는 경우 48k로 변환하도록 수정

- 컴파일러를 Visual Studio 2015 Update 1로 교체

- ffmpeg을 2.8.3으로 업데이트

- mediainfo를 0.7.80으로 업데이트


2016. 2. 22: 2.9b

- ffmpeg을 3.0.0으로 업데이트

- mediainfo를 0.7.82로 업데이트

- 미디어 포맷 인식 기능 보강(iTrans의 최신화 내용 반영)

- UI 수정: About Dialogbox를 변환중이 아닐 때만 띄우도록 수정

- 구글 드라이브에서 배포하지 않는 것으로 변경


2016. 6. 6: 2.10a

- ffmpeg3.0.1으로 업데이트

- mediainfo0.7.86로 업데이트

- UI에 스핀 컨트롤 추가

- 최대 음량에 tool tip 추가

- as-is 모드에서는 변환 버튼이 추출로 표시되도록 수정



  1. 즉, FLAC 등을 변환해서 그대로 아이폰에 넣으면 됨 [본문으로]
  2. 마찬가지. 음원을 그대로 변환해서 아이폰에 넣으면 커버 아트까지 그대로 나옴 [본문으로]
  3. 현재 2.2.3까지 나왔지만, 용량을 줄이기 위해 2.2.1 적용 [본문으로]
  4. ffmpeg은 기록은 하지만, 적절한 텍스트 포맷을 사용하지 않아 표시가 안 됨 [본문으로]
  5. 비스타 이상에서는 "비 ASCII 문자 포함" 메시지는 나오지 않는다는 뜻 [본문으로]
신고
  1. Favicon of http://rainadays.tistory.com BlogIcon 해록색 2014.09.21 11:35 신고

    와... iTrans도 그렇고, 이 번 Any to MP3까지... 감사합니다.
    iTrans 만큼은 아니지만 종종 있었으면 좋겠다 싶은 종류의 프로그램입니다.
    요긴하게 쓸게요.

    아... 그런데 궁금한 점이... 저는 사용하게 되면, AVI나 MP4 위주로 변환을 하게 될 거 같은데...
    AVI 컨테이너는 대게 오디오를 MP3를 사용하고, MP4는 AAC를 사용하잖아요?
    그렇다면 굳이 코딩을 다시 하지 않고 원본 스트림을 그대로 활용하는 방식으로 되나요?
    MP3가 들어간 AVI를 output type: mp3로 설정하면 스트림 복사해서 MP3로 먹싱(?)하는 건지요?
    마찬가지로 MP4에 m4a로 설정하면 AAC를 재활용한다거나...

    그랬으면 좋겠는데, VBR 체크박스나 바로 옆 비트레이트 부분이 필수인 거 같아서요.

    • mp3->mp3, aac->aac는 그런 식으로 동작할 수 있습니다.
      (as-is 모드 선택)

      AVI 등에서 복사할 때도 그런 식으로 적용할 수 있을지는 생각해보겠습니다.
      괜찮은 아이디어인 것 같네요.
      고맙습니다.

    • 해록색 2014.09.21 12:29 신고

      아. 현재는 영상 컨테이너에서는 안 되나 보군요?

      영상은 대게 음원보다 러닝타임이 길다 보니까...
      mp3나 aac 스트림이 있다면 변환을 하지 않고 그대로 쓰는 게
      음질 측면에서나 시간 측면에서도 효율적일 거 같아서 남겨봤었습니다.
      한 번 고려해보신다니 감사합니다. ^^

      답변 감사합니다.

    • 해록색 2014.09.21 12:30 신고

      아 그리고 여담인데...
      크롬과 IE에서 테스트해봤는데, 비로그인으로 댓글을 남길 수가 없네요. catcha(?)까지 제대로 입력하고 남기기를 눌러도 반응이 없습니다. 다만 대댓글에는 가능한 거 같아요. 대댓글에는 댓글이 남겨지는데, 본문에 댓글 단독(?)으로 쓸 때는 남겨지지 않네요.

      아, 물론 티스토리 로그인이 되어있으면 문제 없는 거 같습니다.

    • 1. 영상 컨테이너에서 추출이 안 된단 말씀은 아닙니다.
      그 반대로 아주 깔끔하게 됩니다.
      단지, 프로그램의 목적에서 너무 벗어난 게 아닌가해서 고민 좀 하려고요.

      2. 몰랐습니다.
      이 반응형 스킨이 좋아서 썼는데, 그런 치명적인 문제가 있었네요.
      고맙습니다. 이거 고민 좀 많이 해야겠습니다. ㅠㅠ

    • as-is 모드의 동작방식을 스트림 추출로 바꿨습니다.
      한번 테스트 부탁드려요. ^^

    • Favicon of http://rainadays.tistory.com BlogIcon 해록색 2014.09.22 03:11 신고

      2.5버전 as-is 모드 테스트했습니다.
      MP4(AAC), AVI(MP3) 둘 다 잘 됩니다.
      피드백도 빨리해주시고 업데이트도 바로 해주시고!
      정말 감사합니다~~~ㅠㅠ 잘 쓸게요!

  2. Favicon of http://www.ibagu.co.kr BlogIcon 이바구™ 2014.10.06 23:07 신고

    기술 좋으시네요.
    잘 사용하겠습니다.

  3. 하루마치 2014.12.04 21:07 신고

    좋은 프로그램 만들어주셨는데.. TP, TS 확장명은 원본 미디어라 음원 추출 못하나요?

  4. 슬랜더맨 2014.12.05 11:06 신고

    TEUS님

    AAC 파일로도 변환 가능한가요?

    AAC 보다 M4A 가 더좋나요? ㅠ

  5. pk 2015.01.12 15:13 신고

    감사합니다. m4a로 변환해야할 파일이 있었는데 도움이 많이 되었어요 :)

  6. ㄴㄴㄴㄴㄴ 2015.02.04 19:44 신고

    다운로드가 안되요

  7. 윤조Love 2015.02.11 10:52 신고

    변환한 파일은 어딨나요?

  8. Blue Whale 2015.02.14 11:39 신고

    정말 감사합니다~ mkv파일까지 간단히 변환시켜주는건 찾기어려웠는데 잘 사용하겠습니다~

  9. 설서린 2015.02.17 20:05 신고

    이런 프로그램이 필요했는데 정말감사합니다! 유용하게 사용하겠습니다!

  10. 설서린 2015.02.17 20:23 신고

    그런데 다른 포맷으로 변환은 되는데 mp3만 안되네요... 저만 그런가요??

  11. ㅠㅠ 2015.04.06 02:32 신고

    flac -> mp3 변환이 안돼요..ㅠㅠ
    원본이랑 같은 폴더에 저장된다고 하셨는데..
    진행에는 완료로 떠도
    변환된 파일이 생성 자체가 안되네요ㅜ

  12. 개참치 2015.06.23 00:08 신고

    좋은 프로그램 만들어 주셔서 감사합니다...
    잘 쓰겠습니다.

  13. 철수 2015.10.19 20:40 신고

    잘쓰고있습니다 감사합니다:)
    버그신고합니다 파일이 약 80개인가 100개정도 이상으로 한번에넣으면 못불러오는 현상이있습니다
    이럴때는 다단계로 끊어서 여러번 가져오면 되긴되는데 일단 버그니 문의드려봅니다
    확장명은 m4a에서 mp3로바꿀때 나왔습니다
    사이사이에 일본어글자도 몇몇있고요

  14. BlueNIX 2015.12.22 04:50 신고

    Happy Christmas!! 언제나 잘 쓰고 있습니다. 정말 고마워요!!

    옵션이 추가 되었으면 좋겠습니다.

    옵션에는 커버아트 및 일반 태그를 수정 할 수 있는 부분이 있었으면 좋겠습니다.

    또한, 비트 레이트 부분.. 128, 192, 256, 320 등 (임의로 지정하면, 160으로만 설정 되더군요)

    Happy New Year!!! 따순 밤 보내세요 ^^

    • 커버아트나 태그를 수정해주는 건 다른 프로그램을 이용하시는 게 좋겠습니다.

      비트레이트는 ffmpeg으로 정확하게 넘기는데, ffmpeg에서 이 값을 정확하게 반영하지 않는 것 같더군요.
      (수정: 지금 다시 확인해봤는데, 최신 ffmpeg에서는 비트레이트를 정확히 반영합니다)

  15. ik7 2016.04.13 23:59 신고

    감사합니다. 덕분에 변환 성공했습니다.

  16. ㅇㅅㅇ 2016.11.08 22:02 신고

    좋은 프로그램 감사합니다.

    이런 프로그램 찾고있엇어요...

    설치하지 않아도 되서 더 마음에 들어요.

    정말 감사합니다.

+ Recent posts