내가 생각할 수있는 정보 만 제공했습니다.
조각으로 가자 :
비디오에 하나의 이미지 만 추가되었으므로. 비디오 크기를 줄이는 방법이 있는지 궁금합니다. 예를 들어 28 대신 강제 비트 레이트 / 초 = 1입니까?
정지 이미지이므로 변경할 필요가 없습니다. 그냥있어
당신이 말하는 것은 비트 레이트가 아닌 초당 프레임 (fps) 입니다. 그리고 당신은 개념에 맞습니다. 정지 이미지 1fps 하나만 문제가되지 않습니다.
mp4에 적합한 크기입니까? 이미지 크기가 중요합니까?
이 경우 하나의 스틸 사진 만 처리하므로 이미지 크기는 큰 무게를 갖지 않습니다. 고화질 비디오라면 다른 문제입니다.
jpg의 크기를 1080 * 720으로 조정하고 ffmpeg의 추가 설정을 720p로 출력해야합니까 (ffmpeg 설정은 무엇입니까 :)?
당신이 말하는 해상도는 1280x720입니다.
-loop 1
여기서 옵션 의 요점을 보지 못하면 프로세스 속도가 느려집니다. -shortest
파일에 둘 이상의 입력 스트림이 있기 때문에 사용 했습니까 ? 그렇지 않다면 그것을 사용할 이유가 없습니다. 당신이 사용했기 때문에 -acodec copy
나는 당신이 그것을 다시 인코딩하고 싶지 않다고 가정해야합니다.
다시 인코딩하지 않고 비트 전송률에 닿지 않는 720p 1fps 출력의 경우 :
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
입력 스트림이 두 개 이상이고 ffmpeg가 가장 짧은 스트림에서 인코딩을 완료하려는 경우를 생각해보십시오.
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
이제 비트 전송률을 변경해야하는 경우 (예를 들어 1024k라고 가정)
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -b:v 1024k -bufsize 1024k -s 1280x720 output.mp4
참조 : 출력 비트 레이트 제한
-c : a copy = 입력 오디오 스트림을 복사하여 다시 인코딩하지 않도록합니다.
-b : v = (정확하지는 않음) 일정하도록 지정된 비트 전송률.
-bufsize = 평균 비트 전송률을 계산하는 간격입니다. -b : v에 지정된 손실 품질 이미지는 가장 낮지 만 비트 전송률은 더 정확합니다 .
-s = 비디오 출력의 실제 크기.
-framerate = 출력에서 사용할 입력 프레임 속도.
한 지점에서 더 작은 크기의 비디오를 계속 원한다면이를 달성하기 위해 품질을 희생해야합니다. 그리고 다른 방법으로는 손실 압축으로 다시 인코딩하는 것이 포함됩니다.
당신이 말하는 것, 당신이 제공하는 정보, 그리고 당신이하려고하는 것은 앨범 아트를 mp3에 포함시키는 것 같습니다. 그것이 당신의 목표라면 이것은 당신의 요구 사항에 더 잘 맞을 것입니다 :
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
-map_metadata = 파일에서 파일을 출력하는 ffmpeg 메타 데이터 지정자 이 경우 글로벌 메타 데이터 ( 0 )입니다.
-map 0 = 입력 스트림 1 (오디오).
-map 1 = 입력 스트림 2 (이미지).
여기에 귀하의 요청에 맞는 것이 없으면 추가 정보를 제공하십시오.