FFmpeg로 타임코드를 쓴 동영상 만들기

2959 단어 ffmpeg
앞서 만든 Shaka Streamer 환경에서 제공되는 HLS가 어느 정도의 지연인지 확인하기 위해 타임코드를 쓴 동영상을 작성한다.
(잘 생각하면 타임 코드를 쓴 동영상을 작성한 것만으로는 지연이 확인하기 어려운 것을 알 수 있었으므로, 지연을 확인하는 환경의 구축은 또 다시 검토하고 싶다. 그래서, 이 기사에서는 타임 코드를 쓴 동영상을 만드는 것에만 초점을 맞춥니다.)

참고로 한 페이지



htps : // / s. 오, ぇ. 코 m / 해 / ぃ ん ぇ ん ぢ ん g / x 264-fm ぺ g- 밧구 g
htps // t 등 c. ㄱ fm㎺ g. 오 rg / uuki / umichin g % 20 ~ 20 % t t % 20 t 등
htps // t 등 c. ㄴ fmぺg. 오 rg / uuki / fu l teringui
htps : // 꼬리 rt. 아 ぇ. 코m/엔우 s/HT201749

제일 처음의 링크는 꽤 옛날부터 신세를지고 있다고 생각한다.

사용한 환경


  • macOS 10.14.6 (18G3020)
  • ffmpeg 버전 4.1.4

  • ffmpeg 명령



    오리지널 동영상은 h tp // w w. 물기 때문에 s. 코m/
    ffmpeg -i 03_caminandes_llamigos_1080p.mp4 \
    -vcodec h264 -profile:v main -b:v 1000k -minrate:v 1000k -maxrate:v 1000k \
    -bufsize:v 2000k -crf 23 -sc_threshold 0 \
    -keyint_min 24 -r 24 -g 48 \
    -vf "scale=640:-1, \
    drawtext=fontfile=/Library/Fonts/Courier\ New\ Bold.ttf: \
    timecode='00\:00\:00\:00': r=24: fontsize=60: fontcolor=white: \
    x=(w-tw)/2: y=h-(2*lh): box=1: boxcolor=0x00000000@1" \
    -acodec aac -ac 2 -ab 64k -ar 44.1k -y output.mp4
    

    (2/20 편집, timecode의 싱글 쿼트가 빠졌습니다)

    어쩔 수 없는 옵션도 포함되어 있을지도 모르지만, 일단 스스로는 이하의 생각으로 지정하고 있습니다. 틀렸다면 가르쳐주세요 ...
  • video의 비트 레이트는 대략 1000k가 되도록.
  • Frame Rate는 24, GOP는 2초마다
  • CRF는 지정하지 않아도 되지만(기본도 23), 언젠가 변경하는 것도 고려해 넣었다고
  • width = 640, height는 가로 세로 비율을 유지하면서 width에 따라 크기 조정

  • 폰트는 macOS라면 ​​Font Book이라는 앱을 열고 오른쪽 클릭 메뉴(컨텍스트 메뉴)에서 "Finder에 표시"를 선택하면 그 폰트 파일의 위치를 ​​알 수 있습니다.


    확인



    ffplay로 확인. 대체로 잘 되고 있다.


    덧붙여서 타임 코드는 hh:mm:ss:(フレーム番号) 입니다.
    제일 마지막은 ms(milli-sec)가 아니기 때문에 주의를.

    확인(ffprobe)



    이하의 커멘드로 비디오의 프레임이 예상대로인지 어떤지를 대략 확인한다.
    ffprobe -i output.mp4 -select_streams v:0 -show_frames -print_format json
    

    I-frame이 48프레임마다, 그리고 2초마다이므로, 잘 되고 있다고 생각한다.

    이상.

    좋은 웹페이지 즐겨찾기