영상 채팅 화면 녹화를 무손실 압축

영상 채팅 화면 녹화를 무손실 압축

제가 진행한 화상 채팅의 화면 녹화가 있는데 화면 녹화 자체가 59.93fps로 이루어졌기 때문에 파일 크기가 엄청납니다. 그런데 영상통화는 15~30fps 정도였던 것 같아요. 게다가 영상 채팅이었기 때문에 개별 프레임도 분명히 압축되었습니다.

영상의 품질을 잃고 싶지 않습니다(영상 채팅이라는 점을 고려하면 이미 다소 열악합니다). 하지만 파일 크기를 줄이고 싶습니다. 하지만 이 문제를 가장 잘 해결하는 방법을 잘 모르겠습니다... 제 질문은 다음과 같이 요약됩니다.

  1. 영상 채팅의 프레임 속도와 동기화되도록 영상의 프레임 속도를 낮추는 방법이 있나요?
  2. 내가 모르는 다른 압축 옵션이 있습니까?

도움이 되는 경우 ffmpeg -i 출력은 다음과 같습니다.

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\Untitled1.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2015-08-02T20:32:54.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: MacBookAir4,2
    com.apple.quicktime.software: Mac OS X 10.10.4 (14E46)
    com.apple.quicktime.creationdate: 2015-08-02T12:46:10-0700
  Duration: 00:45:19.57, start: 0.000000, bitrate: 12981 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1438x874, 12974 kb/s, SAR 1:1 DAR 719:437, 59.93 fps, 60 tbr, 6k tbn (default)
    Metadata:
      creation_time   : 2015-08-02T20:32:54.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : H.264

답변1

FFMPEG는 사용할 때 단순히 비디오의 "불필요한" 프레임을 삭제합니다.-filter:v fps=n

자세한 설명을 보실 수 있습니다여기

추가로 비디오를 h264에서 h265로 변환하면 눈에 띄는 품질 손실 없이 비디오를 약 최대 10배까지 압축할 수 있습니다. 이는 감소된 프레임 속도를 고려하지 않고 100MB 파일이 나중에 10MB의 공간만 차지한다는 것을 의미합니다.

예:

ffmpeg -i <input> -filter:v fps=30 -c:v libx265 -vtag hvc1 -c:a copy <output> 

관련 정보