초당 24프레임의 jpeg 프레임(o.79MB/jpeg @24bit/pixel)으로 출력하는 3대의 카메라로 데이터 로거를 구축 중입니다. 이 이미지들을 찍어서 비디오로 변환하고 싶습니다. 각
비디오의 경우 1080p 비디오 품질을 생성하는 데 사용해야 하는 비디오 크기와 인코딩 형식을 추정하려고 합니다. 그리고 비디오를 인코딩하는 데 걸리는 시간을 추정하는 방법은 무엇입니까?
달성할 수 있는 최종 데이터 크기를 추정하기 위한 공식이 있습니까?
답변1
달성할 수 있는 최종 데이터 크기를 추정하기 위한 공식이 있습니까?
아니요. 크기는 선택한 인코딩 설정, 즉 속도 제어 모드, 평균 비트 전송률 또는 평균 품질, 프레임 속도, 압축 효율성과 속도 간의 균형, 특정 인코더 등에 따라 크게 달라집니다.
물론, 사소한 고정 비트 전송률 인코딩 프로세스가 있는 경우 출력 파일 크기를 쉽게 계산할 수 있습니다. 그러나 대부분의 경우 고정 비트 전송률을 강제로 적용하고 싶지 않습니다.
비디오의 경우 1080p 비디오 품질을 생성하는 데 사용해야 하는 비디오 크기와 인코딩 형식을 추정하려고 합니다.
1080p는 세로로 1080픽셀의 해상도를 의미합니다. 이러한 차원에는 고유한 "품질"이 부여되지 않습니다. 품질에 관해 이야기할 때 일반적으로 품질을 다음과 같이 분류합니다.
- 무손실(수학적으로 무손실)
- 시각적 무손실(사람의 눈에 보이지 않는 원본 버전과 인코딩된 버전 간의 차이)
- 손실이 많은
원시 YUV, FFV1 또는 HuffYUV와 같은 무손실 코덱을 선택할 때 걱정할 점은 파일 크기뿐입니다. ProRes 또는 DNxHD와 같은 시각적 무손실 코덱을 선택할 때 여전히 온라인 스트리밍에 적합하지 않은 높은 파일 크기가 발생할 수 있습니다.
손실이 있는 부분의 경우 요구 사항이 무엇인지 생각해야 합니다. 낮은 파일 크기보다 빠른 인코딩이 더 중요합니까? 압축 문제가 걱정됩니까? 아니면 웹을 통해 비디오를 스트리밍하여 압축해야 합니까? 나중에 시청하기 위해 스트림을 보관할 계획인가요?
위 질문에 대한 답변에 따라 웹 스트리밍을 활성화하기 위해 낮고 제한된 비트 전송률을 갖춘 단일 패스 고속 인코딩 사전 설정을 선호할 수 있습니다. 또는 일정한 품질 모드를 사용하는 2단계 느린 인코딩 사전 설정을 원할 수도 있습니다(예:x264의 CRF), 충실도에 관심이 있지만 여전히 작은 크기를 원하는 경우.
그리고 비디오를 인코딩하는 데 걸리는 시간을 추정하는 방법은 무엇입니까?
이는 CPU 성능, 비디오의 픽셀 크기 및 프레임 속도, 시공간적 복잡성 및 인코더 옵션에 따라 달라집니다. 예를 들어 를 사용하면 libx264
선택할 수 있는 다양한 사전 설정이 있습니다. 참조FFmpeg H.264 인코딩 가이드몇 가지 팁을 알려주세요.