2014-06-20 5 views
0

나는 비디오 인코딩에 대한 완전한 초보자입니다. 일련의 .dpx 파일을 다음 형식 중 하나의 단일 인코딩 된 비디오 O/P 파일로 인코딩하려고합니다. (.mp4, .avi, .h264, .mkv 등)X264를 사용하여 일련의 .dpx 파일을 인코딩하는 방법

나는 두 가지 접근 방식을 시도했다. 첫 번째 작품과 두 번째 않습니다. 두 가지의 차이점을 알고 싶습니다. 어떤 도움/입력을 많이 주시면 감사하겠습니다.

1) x264 라이브러리와 함께 FFMPEG를 사용하면 잘 작동합니다. 내가 먼저 연결된 파일을 인코딩 x264을 사용 후는 FFmpeg에서 concate 프로토콜을 사용하여 하나의 파일에 모든 DPX 파일을 연결하려고) 원하는 출력

ffmpeg -start_number 0 -i frame%4d.dpx -pix_fmt yuv420p -c:v libx264 -crf 28 
-profile:v baseline fromdpx.h264 

2를 생산할 수입니다. 여기서 연결된 파일의 크기는 연결된 모든 파일의 합계입니다. 그러나 x264 명령을 사용하여 연결된 파일을 인코딩하면 녹색 화면이 표시됩니다 (기본적으로 원하는 출력이 아님).

ffmpeg -i "concat:frame0.dpx|frame01.dpx|frame2.dpx etc" -c copy output.dpx 

x264 --crf 28 --profile baseline -o encoded.mp4 --input-res 1920x1080 --demuxer raw 
output.dpx 

는 또한 이것은 또한 나에게 빈 비디오를 제공

ffmpeg -i output.dpx -pix_fmt yuv420p -c:v libx264 -crf 28 -profile:v baseline fromdpx.h264 

을 다음과 같이는 FFmpeg를 사용하여 연결된 파일을 인코딩하기 위해 노력했다.

누군가 나에게 여기에서 무슨 일이 일어나는지 지적 해 주시겠습니까? 첫 번째 방법은 효과가 있고 두 번째 방법은 효과가없는 이유는 무엇입니까?

감사합니다.

답변

0

두 번째 방법에서는 DPX 파일을 x264 (--demuxer raw)의 원시 입력으로 지정하지만 DPX는 원시 형식이 아닙니다 (헤더, 메타 데이터 및 선택적으로 RLE 압축을 갖는 컨테이너입니다) 디코딩이 필요합니다. x264는이 원시 형식 (--input-csp) (i420, yv12, nv12, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb) 만 지원합니다. 이 모든 형식은 구성 요소 당 8..16 비트 (입력 깊이)를 가질 수 있습니다.

또한 DPX 형식은 비디오 형식이 아닌 이미지 형식이기 때문에 연결이 전혀 지원되지 않습니다. 그래서 연재 후 당신의 결과는 이미 깨졌습니다.

관련 문제