이미지를 비디오로 변환하는 데 이상한 문제가 있습니다. node.js 서버에 excellent fluent-ffmpeg module을 사용하고 있습니다. 나는 30fps 비디오로 변환하고 싶은 179 개의 jpg 이미지를 가지고있다 (약 6 초이어야한다). 이제fluent-ffmpeg가 틀린 프레임을 생성 함
ffmpeg -i out.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.63.104
Duration: 00:00:06.00, start: 0.000000, bitrate: 1631 kb/s
Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1627 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
Metadata:
handler_name : VideoHandler
, 나는 유창-는 FFmpeg와 같은 일을 시도하고있다 :
ffmpeg -r 30 -i frame%03d.jpg -c:v libx264 out.mp4
이것은을 FFmpeg을 검사 할 때 다음과 같은 출력 : 나는 성공적 그래서 다음는 FFmpeg 명령을 사용하여 수행 한
var proc = new ffmpeg({ source: 'frame%03d.jpg', nolog: true })
.addOptions(['-c:v libx264','-r 30'])
.saveToFile('test.mp4', function(retcode, error){
console.log('file has been converted succesfully');
});
정확히 일치해야합니다. 맞습니까? 그러나 여기 내가 갖는 것입니다 : 지금 여기 가장 흥미로운 무엇
ffmpeg -i test.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.63.104
Duration: 00:00:07.20, start: 0.000000, bitrate: 1556 kb/s
Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1553 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
Metadata:
handler_name : VideoHandler
그 둘은 이미지의 동일한 세트에서 만들어 모두 가정으로 같은 프레임 속도, 유창-는 FFmpeg로 만든 하나가 되었더라도있다 7.20 초의 지속 시간, 첫 번째 것보다 1.20 초 정도 길다. 두 비디오를 비교할 때 30이보고 되더라도 실제로는 25fps가 유창하다고 생각됩니다.
동일한 결과를 가진 두 개의 플래그 (예 : .withVideoCodec, .withFps
)를 올바르게 추가하려고 했으므로 인수를 수동으로 추가하여 원래의 명령과 완전히 동일하게 만들었습니다.
아무도이 모듈을 사용해 본 경험이 없거나 제안이 있으면 큰 도움이됩니다.