쉬운 방법으로 비디오에 자막 추가

접근성을 위해 제작하는 모든 비디오 콘텐츠에는 자막이 있어야 하지만 자막을 추가하는 것은 어려운 작업이 될 수 있습니다. 이 문서에서는 비디오 편집 소프트웨어 없이 기존 비디오에 자막을 빠르고 쉽게 추가하는 방법을 다룹니다.

요구 사항



입력



비디오 형식: 이 접근 방식은 MP4 비디오에만 적용됩니다. H.264 및 H.265/HEVC가 모두 지원됩니다.

캡션/자막 파일: SRT 또는 WebVTT 형식을 지원합니다. 캡션 파일이 없습니까? See instructions below .

FFmpeg



지침은 오픈 소스FFmpeg 도구를 사용합니다.

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.



installation instructions here을 따르십시오.
Mac에서는 brew install ffmpeg와 함께 Homebrew를 사용하면 됩니다.

캡션 파일 자동 생성(선택 사항)



비디오 자막이 있는 캡션 파일이 없는 경우 두 가지 방법 중 하나로 비디오를 쉽게 자동 캡션할 수 있습니다.
  • 비디오를 YouTube에 업로드합니다. YouTube는 동영상을 만들 수 있습니다. 캡션은 SRT 파일 형식으로 다운로드할 수 있습니다.
  • 회사에 Microsoft Stream이 있는 경우 비디오를 업로드하여 자동 캡션을 즐기십시오. 캡션이 생성되면 WebVTT 형식으로 이전downloading your captions에서 웹 인터페이스를 통해 쉽게 편집할 수 있습니다.

  • 자막 선택 가능



    이러한 자막은 자막을 지원하는 모든 비디오 플레이어에서 켜거나 끌 수 있습니다.



    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $INFILE -i $SUBTITLES -c copy -c:s mov_text \
      -metadata:s:s:0 language=eng outfile_selectable.mp4
    

    여러 언어



    동일한 비디오 내에서 서로 다른 언어로 된 여러 자막을 가질 수도 있습니다.



    # Replace with your input video and subtitle files
    INFILE=video.mp4
    SUBTITLESENG=english.vtt
    SUBTITLEGER=german.vtt
    SUBTITLESSPA=spanish.vtt
    
    ffmpeg -i $INFILE -i $SUBTITLESENG -i $SUBTITLESGER -i $SUBTITLESSPA \
      -map 0 -map 1:s -map 2:s -map 3:s -c copy -c:s mov_text -c:s mov_text c:s mov_text \
      -metadata:s:s:0 language=eng -metadata:s:s:1 language=ger \
      -metadata:s:s:2 language=spa outfile_selectable_multi.mp4
    

    불타는 자막



    이러한 자막은 비디오 자체의 일부이며 끌 수 없습니다.



    비디오 스트림에 영구적으로 추가된 자막과 함께 비디오를 다시 렌더링해야 합니다. 비디오 재생 시간, 품질, CPU 및 GPU의 품질에 따라 시간이 다소 소요될 수 있습니다.

    장단점: GPU를 사용하는 하드웨어 가속 인코딩은 일반적으로 훨씬 빠르지만 소프트웨어 인코딩(CPU만 해당)은 더 작은 파일과 더 나은 품질을 생성합니다.

    장단점: H.264가 가장 호환성이 좋습니다. 인코딩 및 디코딩에 대한 하드웨어 지원이 있을 수 있습니다. H.265/HEVC 파일은 25-50% 더 효율적이지만 디코딩은 훨씬 더 컴퓨팅 집약적입니다. 최신 GPU에서만 이 형식의 인코딩을 위한 하드웨어 지원이 있습니다. 그럼에도 불구하고 H.265/HEVC는 미래의 형식입니다.

    MacOS에서 하드웨어 인코딩을 사용하여 H.264로 출력하는 경우

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vf ass=temp.ass -vcodec h264_videotoolbox \
      -b:v $BITRATE -c:a copy output_burnedin.mp4
    

    NVIDIA GPU가 있는 Windows/Linux에서 하드웨어 인코딩이 있는 H.264의 경우

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vf ass=temp.ass -vcodec h264_nvenc \
      -b:v $BITRATE -c:a copy output_burnedin.mp4
    

    모든 운영 체제에서 소프트웨어 인코딩을 사용하는 H.264용

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vf ass=temp.ass -vcodec libx264 \
      -b:v $BITRATE -c:a copy output_burnedin.mp4
    

    MacOS에서 하드웨어 인코딩을 사용하는 H.265/HEVC용

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vcodec hevc_videotoolbox -tag:v hvc1 \
      -b:v $BITRATE -c:a copy -vf ass=temp.ass output_burnedin.mp4
    

    NVIDIA GPU가 있는 Windows/Linux에서 하드웨어 인코딩이 있는 H.265/HEVC용

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vcodec hevc_nvenc -tag:v hvc1 \
      -b:v $BITRATE -c:a copy -vf ass=temp.ass output_burnedin.mp4
    

    모든 운영 체제에서 H.265/HEVC 소프트웨어 인코딩용

    # Replace with your input video and subtitle file
    INFILE=video.mp4
    SUBTITLES=subtitles.vtt
    
    ffmpeg -i $SUBTITLES temp.ass && \
    BITRATE=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate \
      -of default=noprint_wrappers=1:nokey=1 $INFILE) && \
    ffmpeg -i $INFILE -vcodec libx265 -tag:v hvc1 \
      -b:v $BITRATE -c:a copy -vf ass=temp.ass output_burnedin.mp4
    

    참고: 소스 비디오가 H.264 형식인 경우 H.265 명령을 사용하여 H.265/HEVC 형식의 최종 비디오를 생성할 수도 있습니다. H.265는 25-50% 더 효율적이므로 비트 전송률을 줄이면서도 동일한 비디오 품질을 유지할 수 있습니다.

    좋은 웹페이지 즐겨찾기