mp3 + jpg등 -> mp4 로 합성 방법 비교 - FFmpeg 사용 최고효율 (수정3) / jpg+mp3 컨버팅, 변환

- 수정1(2024-04-28) : FFmpeg 이용후기 추가

- 수정3(2024-04-29) : FFmpeg 홈페이지에 추전방법이 나와있어 테스트 후 최고효율방법 추가


  구글에서 mp3 + image mp4 로 검색하면 여러 사이트가 뜨는데, 디자인만 같고 이름만 다른 허접한 사이트들이 많이 뜬다. 이런 곳은 효율이 안좋다.


● 테스트 파일

:  2.66mb mp3파일 + 90kb jpg이미지파일을 합성하는데 대충 계산하면 3mb 대 mp4 파일로 출력되어야 효율이 좋은 것이다.


● 효율좋은 사이트 : https://www.onlineconverter.com/audio-to-video


이곳이 효율이 가장 좋다. 결과물은  2.66mb + 90kb => 3.32mb 이다.  6mb 대가 나오는 아래 사이트들 or 프로그램과는 달랐다.




● 허접한 사이트 : VideoUtils, FileConverto 등 이름만 같고 엔진은 같은 사이트들

 목적이 뭘까?. 데이터 수집인지, 아니면 사용자가 출력물을 유튜브 같은데 올렸을 때 나중에 저작권을 주장하려는 것인지.

 암튼 이름만 다르게 해놓고 검색엔진에 잘 검출되게 해놓았다.


 결과물 용량이 6mb 후반으로 효율이 아주 좋지 못하다.

 이런 사이트들을 링크해놓은 국내 블로그들도 있다.




● 추가기록 - 변환 프로그램(비추천)

 온라인으로 하는게 귀찮아서, 프로그램 Wondershare UniConverter 라는 프로그램을 받아 보았지만 역시 출력용량 6mb 대로 좋지가 못하다.

  유료로 사용해야만 변환이 되는데, 퀄리티도 허접하다. 비추천. 무료 사용시는 1/3밖에 변환 안됨. + 제거시 오류도 떴음.





 FFmpeg 사용해 합치는 방법 (최고 효율 가능)

 FFmpeg는 커맨드라인 형식으로 .bat 파일을 만들어서 써야 한다.

 「CleverFFmpeg」 라는 Gui로 되는 프로그램도 있지만, 옵션이 좋지 못해 추천못할듯.

 => 그냥 FFmpeg로 mp3+jpg => mp4 로 합치면 최고 효율 가능.

 입력파일(그림,오디오), 출력파일 포맷이 대부분 상관없어 좋다.

 하지만 잘못하면 재생이 이상하거나(이미지가 안뜬다거나), 유튜브 업로드가 안된다. 되는 커맨드 를아래 기록


* FFmpeg(x64) 다운로드 : https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl-shared.zip

 => 하위폴더 bin 에 실행파일들이 있음.

 CleverFFmpeg에서도 이 파일들을 필요로 한다.



■ FFmpeg 합성 커맨드 기록 (.bat 파일로 만들어 실행)

 ★ 주의 : 이미지 가로크기가 2의 배수여야만 정상작동.

- ffmpeg가 있는 폴더에 1.jpg 와 1.mp3를 놔둘 경우

- 그림파일은GIF, PNG도 된다. GIF는 한번만 재생되고 마지막 프레임에서 멈춘다.

- 소리파일을 WAV로 바꿔도 된다.

- 출력파일을 mkv로 바꾸면 알아서 처리되는듯. 용량은 살짝 증가할 뿐.


 * FFmpeg홈페이지의 예시 ( https://trac.ffmpeg.org/wiki/Encode/YouTube
 )로부터 알아냄

▶★(최고효율) JPG + MP3 -> mp4 (유튭 업로드 가능)
ffmpeg -loop 1 -framerate 1 -i 1.jpg -i 1.mp3 -c:v libx264 -preset slow -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p out.mp4
- 효율 : onlineconverter에서 7.18mb 나오는게 6.94mb 로, 능가하는 효율이 나옴.
- 출력을 mkv로 할시 7.00mb 나옴.

* 옵션 보조 설명
-i : 입력(이미지, 오디오)
-c:a copy : 오디오스트림을 그대로 쓴다는 뜻
-preset medium 보다 -preset slow가 효율좋
-loop 1 : 1번만 반복. 0으로 주면 무한반복이라는데, GIF에는 안먹혔음.
-framerate 1 : 프레임률 초당 1로 설정. 초당 1번만 화면 바뀜.


 ----- 아래는 다른 사이트들의 조언인데 효율 떨어지는 커맨드. 지우기 아까워 보존 -----

(비추천) JPG + MP3 -> MP4 (최고 효율. 속도 빠름. 유튭 업로드는 안됨)

ffmpeg -i 1.jpg -i 1.mp3 -c:v libx264 -tune stillimage -c:a copy out.mp4

(출처+설명 : https://superuser.com/questions/1041816/combine-one-image-one-audio-file-to-make-one-video-using-ffmpeg)

 => 재생해보면 그림이 안나와서 앞으로 돌려야 그림이 나온다던가 하는 이상이 있음.


(비추천) JPG + MP3 -> MP4 (유튭 업로드 가능하나, 위 효율좋은 사이트보다 효율이 많이 떨어짐. 합치는 시간도 오래걸린다.)
- 효율 : onlineconverter 에서 7.18mb 나오는게 10.8mb 나오는 정도
ffmpeg -loop 1 -i 1.jpg -i 1.mp3 -c:v libx264 -tune stillimage -c:a aac -strict experimental -b:a 192k -pix_fmt yuv420p -shortest out.mp4

JPG + MP3 -> MKV(mp4로도 됨) (유튭 업로드 가능)
- 효율 : onlineconverter에서 7.18mb 나오는게 8.35mb 나옴
 ㄴ출력파일을 mkv -> mp4로 바꾸면 8.29mb 나옴.
ffmpeg -loop 1 -framerate 2 -i 1.jpg -i 1.mp3 -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p out.mp4

JPG + MP3 -> MKV(mp4로도 됨)  (유튭 업로드 가능. 위보다 효율좋음)
- 효율 : onlineconverter에서 7.18mb 나오는게 7.39mb 나옴
ffmpeg -loop 1 -framerate 2 -i 1.jpg -i 1.mp3 -c:v libx264 -preset slow -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p out.mp4




(추가정보) CleverFFmpeg 로 합치기 (2024-05 기준, 추천안함)

: FFmpeg 를 쉽게 쓸수있게 GUI를 추가했다고 하지만...옵션이 별로없고 잘 안되고 불편함.

 맨처음 실행시는 FFmpeg 등이 있는 폴더와, 출력 폴더를 설정해야 실행된다.


1. 먼저 Main 으로 가야 한다.




2. Multiplex 가 합치는 메뉴다



3. 여기서 합칠 수 있긴 함
 근데 합쳐지더라도 효율 조정 옵션도 못찾았고, 유튭에서 재생 안되는 등 문제가 발생하므로 추천하지 않음. 




#TAG: jpg+mp3 to mp4 , MP3+JPG TO MP4



댓글 없음:

댓글 쓰기