जवाबों:
बैच स्क्रिप्ट बलो ऐसा करता है। वेब के लिए अनुकूलित यह मूल वीडियो से ली गई 10 छवियों के साथ एक पूर्वावलोकन वीडियो बनाता है। प्रत्येक छवि 1s के लिए दिखाई देती है। स्क्रिप्ट को छवि के नमूने मिलते हैं, इसलिए पूर्वावलोकन वीडियो पूरे वीडियो से लिए जाते हैं।
केवल ffmpeg की आवश्यकता है। (और ffprobe जो ffmpeg पैकेज का हिस्सा है)
आउटपुट: mp4 / h.264 ~ 120Kb (मूल वीडियो आकार की परवाह किए बिना) ।
पूरी तरह से विन्यास।
अनुकूलित लैंजोस और फिल्टर को तेज करें।
मूल वीडियो के पहलू अनुपात को 16: 9 (384x216) फ्रेम में फिट करके रखता है (जब आवश्यक हो तो किनारों पर काली पट्टियाँ भरें)।
कोई अस्थायी फ़ाइलों का उपयोग नहीं किया। (ffmpeg से ffmpeg पर उड़ान पाइप पर)
एचटीएमएल 5 अनुकूल।
यहाँ केवल पूर्वावलोकन के लिए दो gif उदाहरण हैं। वास्तविक आउटपुट mp4 / h.264 है:
16: 9 वीडियो स्रोत। आउटपुट:
4: 3 वीडियो स्रोत। आउटपुट:
विंडोज पर चलाएं लेकिन इसे आसानी से बैश स्क्रिप्ट (लिनक्स) में बदला जा सकता है।
स्क्रिप्ट एक फ़ोल्डर बनाता है ./preview
जहां यह सभी उत्पन्न पूर्वावलोकन संग्रहीत करता है:
/My videos
movie1.mp4 ~ any size
movie2.mp4 ~ any size
/preview
movie1.mp4 ~ 120Kb
movie2.mp4 ~ 120Kb
इसे व्यक्तिगत फाइलों पर चलाने के लिए समायोजित किया जा सकता है।
previewGenerator.cmd:
REM ----------------------------------------------
set folder=C:\My videos
set vframes=10
set width=384
set height=216
rem w = h*16/9
set filetypes=*.mp4
REM ----------------------------------------------
setlocal EnableDelayedExpansion
pushd "%folder%"
if not exist preview md preview
for /f "usebackq delims=" %%f in (`dir /b %filetypes%`) do (
if not exist "preview\%%~nf.mp4" (
for /f %%i in ('ffprobe -v error -show_entries format^=duration "%%f" -of default^=noprint_wrappers^=1:nokey^=1') do set length=%%i
set /a length=!length!+0
set /a fps=!length!/%vframes%
ffmpeg -threads 2 -i "%%f" -an -qscale:v 1 -vf "fps=1/!fps!, scale=iw*min(%width%/iw\,%height%/ih):ih*min(%width%/iw\,%height%/ih):flags=lanczos, pad=%width%:%height%:(%width%-iw*min(%width%/iw\,%height%/ih))/2:(%height%-ih*min(%width%/iw\,%height%/ih))/2, unsharp=5:5:0.5:5:5:0.5" -vframes %vframes% -f image2pipe -vcodec ppm - ^
| ffmpeg -y -threads 2 -framerate 1 -i pipe:0 -c:v libx264 -profile:v baseline -level 3.0 -tune stillimage -r 30 -pix_fmt yuv420p "preview\%%~nf.mp4"
)
cls
)
अपडेट:
आप HTML5 में प्लेबैक दर को आसानी से नियंत्रित कर सकते हैं <video>
जैसा कि यहां दिखाया गया है
.gif प्रारूप में सबसे खराब गुणवत्ता है (पिक्सेल रंग / अधिकतम 256 रंग)
.gif फ़ाइल का आकार कम से कम 2x बड़ा है।
आपके द्वारा बनाए जाने के बाद आप प्लेबैक गति / पॉज़ gif एनिमेशन को नियंत्रित नहीं कर सकते।