avconv를 사용하여 pal8 rawvideo 출력

avconv를 사용하여 pal8 rawvideo 출력

avconv를 사용하여 일부 원시 비디오의 해상도를 줄이려고 합니다. 출력은 동일한 원시 비디오 형식을 유지해야 합니다. 이후 단계에서는 매우 까다롭고 다른 종류의 입력을 허용하지 않는 다른 프로그램에 로드해야 하기 때문입니다. 이제 나는 시도해 보았습니다.

avconv -i myvideo.avi -s 88x72 -vcodec rawvideo myvideo-small.avi

이렇게 하면 축소된 비디오가 생성되지만 형식이 정확히 동일하지 않은 것 같습니다. avconv는 읽기 입력이 다음과 같다고 말합니다.

Stream #0.0: Video: rawvideo, pal8, 352x288, 30 fps, 30 tbr, 30 tbn

생산된 출력은

Stream #0.0: Video: rawvideo, yuv420p, 88x72, q=2-31, 200 kb/s, 30 tbn, 30 tbc

둘 다 rawvideo이지만 입력은 "pal8"이고 출력은 "yuv420p"입니다. 이 두 형식의 차이점을 알지 못하지만 입력과 정확히 동일한 형식을 유지하려면 출력이 필요합니다. 어떻게 할 수 있습니까?

답변1

avconv현재 입력으로는 pal8만 지원하는 것 같습니다 . 실행할 수 있는지 확인하려면 다음을 수행하세요.

$ avconv -pix_fmts |grep pal8

내 결과는 다음과 같습니다

avconv version v12_dev0-498-g2e09359, Copyright (c) 2000-2014 the Libav developers
  built on Dec  5 2014 09:32:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
I..P. pal8                   1             8

첫 번째 부분의 범례는 다음과 같습니다.

I.... = Supported Input  format for conversion
.O... = Supported Output format for conversion
..H.. = Hardware accelerated format
...P. = Paletted format
....B = Bitstream format

따라서 pal8은 읽을 수는 있지만 쓸 수는 없습니다. 이는 스트림을 이 형식으로 적극적으로 인코딩할 수 있는 방법이 없다는 것을 의미하며, 이는 프레임 크기를 변경하려는 경우 수행해야 하는 작업입니다.

pal8 외에 "까다로운" 소프트웨어에서 허용하고 로 인코딩할 수 있는 다른 픽셀 형식을 찾으면 다음 옵션 avconv을 사용하여 해당 특정 형식을 선택할 수 있습니다 -pix_fmt.

avconv -i in.avi -s 88x72 -pix_fmt FORMAT -c:v rawvideo out.avi

관련 정보