h264 yuvj420p 및 pcm u8을 사용하여 비디오를 MOV 파일로 변환하는 방법

h264 yuvj420p 및 pcm u8을 사용하여 비디오를 MOV 파일로 변환하는 방법

Canon 디지털 카메라에서 재생할 수 있도록 일부 비디오를 변환하고 싶습니다.

Canon PowerShot 카메라의 비디오 사양은 다음과 같습니다.

Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw  / 0x20776172), 12000 Hz, mono, u8, 96 kb/s

ffmpeg그러한 비디오를 생성하려면 -명령줄은 어떤 모습일까요 ? 아니면 어디서 읽을 수 있나요? 나는 ffmpeg -formats나에게 큰 형식 목록을 제공하는 그것을 찾으려고 노력해야 했습니다 . 이것과 매뉴얼 페이지의 추가 내용을 통해 나는 다음 명령을 얻었습니다.

ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV

하지만 여전히 작동하지 않습니다. 영상스펙이 다릅니다.

내가 얻는 비디오는 다음과 같습니다.

Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s

하지만 올바른 동영상에는

Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s

해상도가 문제는 아닌거 같은데높은~ 대제한된 기준선. 그리고yuv420pyuvj420p. 이러한 사양을 달성하려면 어떻게 해야 하나요?

답변1

Ely의 힌트와 약간의 추가 조사를 통해 나는 이 명령줄이 정확히 동일한 형식 사양을 생성한다는 것을 발견했습니다.

ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV

어디

  • -vcodec libx264-profile:v baseline와 함께 -pix_fmt yuvj420p비디오를 설정합니다. 제한된 기준선그리고 픽셀 형식은yuvj420p
  • -colorspace smpte170m, -color_primaries bt709그리고 -color_trc bt709내가 찾은 yuvj420p(pc,…) 다음에 세 가지 픽셀 형식 하위 사양을 설정합니다.여기
  • -r ntsc프레임 속도를 29.97로 설정합니다(여기서 ntsc는 프레임 속도의 별칭입니다).
  • -s 1280x720원본 Canon 비디오와 동일한 너비와 높이로 비디오 크기를 조정합니다.

이제 유일한 차이점은 비트 전송률입니다. 이는 ffmpeg로 만든 비디오의 경우 4065kb/s이고 Canon 비디오의 경우 21588kb/s입니다.

그러나 그럼에도 불구하고 Canon 카메라에서는 여전히 비디오를 재생할 수 없습니다. :-(

관련 정보