H264 압축 해제/JPG로 분해 - 품질 문제

H264 압축 해제/JPG로 분해 - 품질 문제

1920x1080 30fps h264 스트림을 디코딩하려고 합니다. 개별 프레임은 VLC 미디어 플레이어에서 훌륭해 보이지만(재생 일시 중지) avconv를 사용하여 디코딩하면(ffmpeg는 더 이상 사용되지 않고 avconv로 대체됨) 비교해 보면 프레임 품질이 정말 나쁩니다(제 주요 불만 사항은 블록 현상입니다).

avconv를 호출하는 방법은 다음과 같습니다.

avconv -i video.h264 -s 1920x1080 -f image2 temp/images/video-%03d.jpg

avconv에 대한 jpg 출력 설정이 있습니까? 나는 avconv 문서의 핵심 부분이라고 의심되는 내용을 읽었습니다(즉,http://libav.org/avconv.html#image2-1), 출력 jpg 품질을 지정하는 방법을 찾을 수 없습니다.

또한 avconv는 디코딩을 시작하기 전에 전체 스트림을 읽는 것으로 나타나므로 스트림이 진행 중인 경우 avconv가 디코딩 프로세스를 시작했을 때 스트림이 있었던 위치로만 디코딩됩니다. 이 문제를 해결할 방법이 있나요? 즉, 10초 길이의 스트림이 t초에 시작되고 avconv가 t+1초에 시작되면 avconv는 스트림의 1초만 디코딩합니다.

답변1

다음 매개변수를 사용하여 JPEG 품질 척도를 가능한 최상의 JPEG 품질로 강제 설정할 수 있습니다 -q:v 1.

avconv -i video.h264 -s 1920x1080 -f image2 -q:v 1 temp/images/video-%03d.jpg

답변2

JPEG는 손실이 많은 코덱입니다. 아마도 PNG를 사용할 수도 있습니다.

ffmpeg -i video.h264 -s 1920x1080 temp/images/video-%03d.png

관련 정보