वीडियो एडिटिंग में नया होने की वजह से एक वीडियो बनाने में आधा दिन लग जाता था, इसलिए मैंने एडिटिंग प्रक्रिया को कोड से automate कर दिया।

इनपुट के लिए बस एक YAML script चाहिए, जिसमें हर scene के लिए narration / visual / callout लिखा हो।
python3 src/pipeline.py scenario.yaml config.yaml की एक लाइन से तैयार mp4 मिल जाती है।

पाइपलाइन (Python):

  • script → TTS narration (say / Supertone / ElevenLabs interchangeable, result caching)
  • narration की लंबाई के मुताबिक subtitle timing अपने-आप बाँटना, narration=subtitle समान
  • subtitles और callout को PNG में render करके overlay करना (इस ffmpeg build में libass/drawtext नहीं है, इसलिए यह तरीका चुना — Korean outline और position को pixel स्तर पर control करना उल्टा ज्यादा आसान था)
  • वर्टिकल में शूट किए गए फोन वीडियो के लिए background blur padding से aspect ratio अपने-आप ठीक करना (config की एक लाइन से 16:9 ↔ 9:16 Shorts)
  • narration concat + BGM mix (वीडियो के अंत के हिसाब से BGM auto cut + fade → "black tail" रोकना)
  • render के बाद duration drift और आखिरी frame की brightness की auto check

यह faceless subtitle वीडियो के लिए खास तौर पर बना है, और मैं सच में इसी टूल से अपने YouTube चैनल के वीडियो बना रहा हूँ।

सीमा: subtitles word-level sync नहीं हैं, बल्कि scene-level पर हैं (characters की संख्या के अनुपात में बाँटकर)।
और यह इस मान्यता पर बनाया गया है कि इस environment के ffmpeg में libass नहीं है, इसलिए PNG overlay तरीका default है।

यह किसी perfect editor का replacement नहीं है; मकसद है script → rough-cut video को लगभग 0 सेकंड का बना देना ताकि बार-बार बनने वाली production cost खत्म हो जाए।

smoke test (key के बिना macOS say voice से पूरा pipeline check):
python3 -m pip install -r requirements.txt
python3 demo/make_placeholders.py
python3 src/pipeline.py demo/scenario.yaml demo/config.yaml

MIT. feedback का स्वागत है।

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.