Potreban ti je neki program koji prepoznaje govor i konvertuje ga u tekst. Na Youtube imaš captions opciju, ne znam da li slični servisi imaju tu istu funkciju. Ima online servisa za tu namenu ali nisu besplatni, ili imaju neka ograničenja. Za offline možeš da probaš
https://github.com/openai/whisper i
https://ffmpeg.org/.
Najjednostavnije je da probaš preko
https://colab.research.google.com/ bez da instaliraš išta lokalno:
Code:
!apt update && apt install ffmpeg
!pip install git+https://github.com/openai/whisper.git -q
!pip install youtube-dl
from google.colab import drive
from glob import glob
drive.mount('/content/drive/', force_remount=True)
path = "drive/My Drive/Test_Dir/"
![[ ! -d "$path" ]] && mkdir "$path"
%cd "$path"
!youtube-dl https://www.youtube.com/watch?v=VgxzJsmpEhE
video_file = glob('*.mp4')[0]
# !whisper --help
!whisper "$video_file" --model small --output_format srt
srt_file= glob('*.srt')[0]
!ffmpeg -i "$video_file" -vf subtitles="$srt_file" Video_Output.mp4
Za probu, zameni Youtube URL sa nekim drugim, ili u
path navedi putanju do videa na Google drive-u.
SRT datoteke nemaju baš neke mogućnosti uređivanja teksta, osim <b>, <i> i <u> tagova, ali možeš sa ffmpeg da kovertuješ SRT u ASS fajl koji ima više mogučnosti kao na primer promena boje teksta i slično.
Code:
ffmpeg -i file_name.srt file_name.ass
Evo nekih primera koje sam ja probao:
https://streamable.com/qri3q3
https://streamable.com/686kg8
Za engleski je odličan, dok se sa srpskim malo muči ako je govornik popio neku više.