![](https://private-user-images.githubusercontent.com/59317431/329522950-5a8eb1f1-a2ab-4359-a5f4-433dfc9f4f8b.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzM3NzQsIm5iZiI6MTczOTEzMzQ3NCwicGF0aCI6Ii81OTMxNzQzMS8zMjk1MjI5NTAtNWE4ZWIxZjEtYTJhYi00MzU5LWE1ZjQtNDMzZGZjOWY0ZjhiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIwMzc1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkxZWY0OTdiNWM0NmFiODRhM2ZlOThkYmM0YzVhY2UyYTk5ZDMzNDVkZTEyZjA2NDAwNDJhZGFkZGM3YzQzYTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Bsa1NcYqBjL35a4YDBFtv3H6LNibKVTSKZbOZ223TCk)
![](https://private-user-images.githubusercontent.com/59317431/329522984-dc45aafd-152a-4631-a3fa-4170aae0c1d2.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxMzM3NzQsIm5iZiI6MTczOTEzMzQ3NCwicGF0aCI6Ii81OTMxNzQzMS8zMjk1MjI5ODQtZGM0NWFhZmQtMTUyYS00NjMxLWEzZmEtNDE3MGFhZTBjMWQyLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIwMzc1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE3YzdkYWVjNTJmYzJkNzI0ZDM3MGIxMDc0N2ZmNTQ4N2YwODZiMTlmNjE0Y2IwOWM2NzQ4NjExMjc3MzY0ZGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._ww3RiGdCouJm5wva6nypFMiolDDJnLdI5sejkNL9RY)
Full video translate architecture:
- Translate video/audio stream (api.browser.yandex.ru/video-translation/translate) (protobuf)
- Download original audio/video stream (youtube-dl)
- Mix translated audio with original video/audio (ffmpeg) (10%:100% ratio)
- Get video metadata, download thumbnail (opengraph)
- Translate video thumbnail (translate.yandex.com/ocr) (puppeteer)
- Upload final [large] video/audio stream (telegram) (gramjs)
1-3 steps can theoretically be moved to the client (in case WASM is supported) in order to reduce server computational resources
# nvm install 18 && nvm use
# or
volta install node@18 # should be automatically pin
which node
node --version
which pnpm
corepack enable [email protected]
pnpm --version
pnpm install
git pull
# make sure right owner are set correctly after
sudo chown -R pi:pi .
# make sure run.sh script is executable
chmod +x ./run.sh
# git update-index --chmod=+x ./run.sh
# don't use sudo, because root mode will break some docker-push/yc/aws stuff
# NOTE: without sudo docker user crontab stuff sometimes crashes...
./run.sh docker:build
./run.sh docker:up
sudo bash ./run.sh docker:build
sudo bash ./run.sh docker:up
sudo bash ./run.sh docker:restart
url='https://youtu.be/x8J3a5ty3zw' pnpm cli