쉬운 방법으로 비디오에 자막 추가
13302 단어 productivitybasha11ytutorial
요구 사항
입력
비디오 형식: 이 접근 방식은 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를 사용하면 됩니다.캡션 파일 자동 생성(선택 사항)
비디오 자막이 있는 캡션 파일이 없는 경우 두 가지 방법 중 하나로 비디오를 쉽게 자동 캡션할 수 있습니다.
자막 선택 가능
이러한 자막은 자막을 지원하는 모든 비디오 플레이어에서 켜거나 끌 수 있습니다.
# 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% 더 효율적이므로 비트 전송률을 줄이면서도 동일한 비디오 품질을 유지할 수 있습니다.
Reference
이 문제에 관하여(쉬운 방법으로 비디오에 자막 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/azure/adding-subtitles-to-your-videos-the-easy-way-11m2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)