높은 비트 전송률의 MXF 입력 파일에서 CBR TS 파일을 생성하는 방법을 찾고 있습니다. ffmpeg를 사용해 보았으나 분명히 CBR 출력 파일을 생성하는 작업이 제대로 수행되지 않았기 때문에 이제 무엇을 사용할 수 있을지 약간 혼란스럽습니다. 나는 다음을 사용해 보았습니다.
ffmpeg -i input.mxf -copyts -c copy -muxrate 200M -f mpegts output.ts
나는 단지 약간의 충전물을 추가하고 싶습니다. 또한 다음 명령을 사용하여 비디오 트랜스코딩을 시도했습니다.
ffmpeg -i input.mxf -vcodec libx264 -b:v 150M -minrate:v 150M -maxrate:v 150M -bufsize:v 140M -acodec mp2 -ac 2 -b:a 192k -f mpegts output.ts
그러나 그것도 작동하지 않았습니다. 출력이 완전히 균일해지기를 원합니다. 이는 멀티플렉싱 속도를 더 높은 값으로 설정하거나 전체 CBR 비디오 비트 전송률을 구현하여 수행할 수 있습니다. 내가 시도한 ffmpeg는 3.2.4입니다.
답변1
나는 10-15% 패딩으로 매우 훌륭하고 부드러운 출력 CBR을 달성하는 방법을 찾았습니다. 안타깝게도 원본 파일을 트랜스코딩해야 합니다.
$ffmpeg -i input.mxf \
-c:v libx264 \
-x264opts nal-hrd=cbr \
-b:v 30M -minrate:v 30M -maxrate:v 30M -muxrate 35M -bufsize:v 25M \
-acodec aac -ac 2 -b:a 128k \
-f mpegts output.ts
이 명령은 입력 파일에서 완전한 CBR TS를 생성합니다. 여기서 중요한 것은 비디오 비트레이트(b:v)가 비디오 최대 및 최소 비디오 비트레이트와 동일하고, 다중화 속도는 설정된 비디오 비트레이트(오디오 비트레이트 포함)보다 10~15% 높아야 하며, 버프 크기는 다음과 같습니다. 약 70 비디오 비트 비율의 비율입니다.