Hazırlıq # Layihə qovluğunu hazırla mkdir video-layihe cd video-layihe # Alətləri yoxla node --version npm --version py --version ffmpeg -version ffprobe -version Remotion # Layihəni və paketləri hazırla npm init -y npm install remotion@4.0.539 @remotion/cli@4.0.539 react@19.2.3 react-dom@19.2.3 # Önizlə və render et npx remotion studio index.tsx # Önizləməni bağlamaq üçün Ctrl+C npx remotion render index.tsx NoqteDemo remotion.mp4 HyperFrames # Arxivi aç və səhnəni yoxla Expand-Archive .\hyperframes-demo.zip .\hyper-demo -Force cd hyper-demo npx --yes hyperframes@0.9.13 lint # Səhnəni MP4-ə çevir npx --yes hyperframes@0.9.13 render -o ../hyperframes.mp4 cd .. FFmpeg + FFprobe # İki klipi 9:16 formatına uyğunlaşdır $fit = 'scale=720:1280:force_original_aspect_ratio=decrease,pad=720:1280:(ow-iw)/2:(oh-ih)/2,fps=30' ffmpeg -i remotion.mp4 -vf $fit -an -c:v libx264 -pix_fmt yuv420p clip1.mp4 ffmpeg -i hyperframes.mp4 -vf $fit -an -c:v libx264 -pix_fmt yuv420p clip2.mp4 # Kadrları birləşdir və səsi əlavə et @('file ''clip1.mp4''','file ''clip2.mp4''') | Set-Content -Encoding ascii clips.txt ffmpeg -f concat -safe 0 -i clips.txt -c copy silent.mp4 $duration = ffprobe -v error -show_entries format=duration -of csv=p=0 voice.wav ffmpeg -stream_loop -1 -i silent.mp4 -i voice.wav -map 0:v -map 1:a -c:v copy -c:a aac -t $duration -movflags +faststart video.mp4 # Nəticəni yoxla ffprobe -v error -show_entries stream=codec_type,codec_name,width,height:format=duration -of json video.mp4 Whisper.cpp # Səsi tanıma üçün hazırla ffmpeg -i video.mp4 -vn -ar 16000 -ac 1 -c:a pcm_s16le whisper.wav # Azərbaycanca SRT çıxar .\whisper\whisper-cli.exe -m .\ggml-base.bin -f .\whisper.wav -l az -osrt -of .\subtitr # Yoxlanmış SRT-ni videoya əlavə et ffmpeg -i video.mp4 -vf "subtitles=subtitr.srt:force_style='Outline=1,Shadow=0'" -c:v libx264 -c:a copy video-subtitrli.mp4 yt-dlp # Quraşdır və versiyanı yoxla py -m pip install -U yt-dlp py -m yt_dlp --version # İcazəli nümunəni saxla $url = Read-Host 'İcazəli video URL-si' py -m yt_dlp --no-playlist -o 'numune.%(ext)s' $url # Bir kadrı ayrıca çıxar $file = Read-Host 'Endirilmiş faylın tam adı' ffmpeg -ss 00:00:02 -i $file -frames:v 1 kadr.png