Introduction
In the digital era, short-form videos have taken over social media platforms. With platforms like YouTube Shorts, Instagram Reels, and Tik Tok gaining immense popularity, content creators need an efficient way to convert long videos into engaging short clips. If you're struggling to repurpose your lengthy content into bite-sized videos, **S B Tech's Free Script** is here to help. This powerful tool, available at **[Shorts Maker](https://shortsmaker.sayantv.in/)**, streamlines the process of transforming long videos into short, shareable clips effortlessly.
This article will explore how this tool works, its key features, benefits, and how you can integrate it into your Blogger or WordPress website.
---
The Growing Demand for Short-Form Videos
Short videos have become the heart of online content consumption. According to recent studies:
- TikTok has over 1 billion monthly active users.
- YouTube Shorts generates over **50 billion views per day**.
- Instagram Reels boosts engagement rates by **67% more than regular posts**.
With such statistics, content creators and businesses need a reliable tool to optimize long-form content into short, engaging videos.
---
Introducing S B Tech’s Free Long Video to Short Video Tool
What is it?
S B Tech's **Long Video to Short Video Making Tool** is a free online software designed to simplify the process of breaking down long videos into multiple shorter clips optimized for social media. This tool ensures that you maintain the essence of your content while making it more accessible and engaging.
Key Features
1. **AI-Powered Video Splitting** - Automatically detects key moments and segments videos accordingly.
2. **Multiple Format Support** - Works with MP4, MOV, AVI, and more.
3. **Custom Length Selection** - Choose the exact duration of your short videos (e.g., 30 sec, 60 sec, 90 sec, etc.).
4. **Subtitle & Caption Integration** - Auto-generate captions for better accessibility.
5. **Easy-to-Use Interface** - No technical expertise required.
6. **Completely Free** - Unlike other paid alternatives, this script is available at no cost.
How to Use S B Tech’s Free Script
Step 1: Visit the Tool
Head over to [Shorts Maker](https://shortsmaker.sayantv.in/) to access the tool.
Step 2: Upload Your Long Video
Click on the "Upload" button and select your video file.
Step 3: Select Clip Length
Choose how long you want each short video to be (e.g., 15 sec, 30 sec, etc.).
Step 4: Process & Download
Click "Generate" and let the tool process your video. Once completed, download the short clips to share on your preferred platform.
Benefits of Using the Tool
1. **Saves Time & Effort**
Manually editing long videos can take hours. This tool automates the process, making content repurposing faster and easier.
2. **Boosts Engagement**
Short videos have higher engagement rates, meaning more likes, shares, and followers for your content.
3. **Optimized for All Platforms**
Whether you’re posting on YouTube Shorts, Instagram Reels, Facebook, or TikTok, this tool ensures your clips are formatted perfectly.
4. **No Cost Involved**
Unlike premium software that charges a hefty fee, S B Tech provides this solution for free.
5. **Increases Monetization Opportunities**
With more short-form content, you increase your chances of getting more views, ultimately leading to better monetization opportunities on platforms like YouTube and TikTok.
How to Integrate This Tool on Blogger & WordPress
If you want to offer this tool to your audience via your website, you can easily integrate it into
**Blogger** and **WordPress**.
**For Blogger**
1. **Log in to Blogger** and go to "Theme" > "Edit HTML."
2. Paste the following embed code where you want the tool to appear:
```html
<iframe src="https://shortsmaker.sayantv.in/" width="100%" height="600px"></iframe>
```
3. Save the changes and preview your blog.
**For WordPress**
1. **Go to WordPress Admin Panel.**
2. **Add a New Page or Post.**
3. Switch to "Text" mode in the editor and paste the following embed code:
```html
<iframe src="https://shortsmaker.sayantv.in/" width="100%" height="600px"></iframe>
```
4. Publish your post, and the tool will be live on your site.
---
Final Thoughts
In a world where short-form content dominates, **S B Tech's Free Long Video to Short Video Making Tool** is a must-have for every content creator. Whether you are a You Tuber, social media influencer, or business owner, this tool simplifies video editing, saves time, and enhances engagement.
By integrating this tool into your **Blogger** or **WordPress** site, you can provide immense value to your audience and drive more traffic.
🚀 **Try it today at ********[Shorts Maker](https://shortsmaker.sayantv.in/)******** and take your content strategy to the next level!**
*****
Hey, guys welcome to the blogs of S . B Tech, So these days we tend to ar back with a surprising script in Blogger which is Advance Online Long Video to Short Video Making Tool Script For Blogger.
So here in this Blogger Website, we are going to find out how to set up an internet site that is an advanced online Long Video to Short Video Making Tool Script For Blogger.
Do the subsequent Steps for creating a website In Blogger For Online Long Video to Short Video Making Tool Script :
<!DOCTYPE html> <html lang="en"> <head> <meta name="description" content="Create engaging YouTube Shorts with Shorts Maker by Sayan TV. Edit videos easily, add effects, and customize your content for viral success. Perfect for creators of all levels!"> <meta name="keywords" content="YouTube Shorts Maker, Shorts Video Editor, Create YouTube Shorts, Video Editing Tool, Online Shorts Editor, Sayan TV Shorts Maker, Free Video Editor, YouTube Shorts Creator, Easy Video Editing, Viral Shorts Tool"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Long Video to Short Video Converter | S B Tech</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"> <style> /* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', system-ui, sans-serif; } body { background: #0B0C10; color: #C5C6C7; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header Styles */ .header { background: #1F2833; padding: 1.5rem; display: flex; justify-content: space-between; align-items: center; animation: fadeInDown 1s; } .logo { display: flex; align-items: center; } .logo-circle { width: 50px; height: 50px; background: linear-gradient(135deg, #66FCF1, #45A29E); border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-right: 1rem; } .logo-circle span { font-size: 1.5rem; font-weight: bold; color: #1F2833; } .header h1 { color: #66FCF1; font-size: 2rem; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } /* Navigation Styles */ .toolbar { display: flex; align-items: center; gap: 1rem; } .nav-links { display: flex; gap: 1.5rem; list-style: none; } .nav-links a { color: #C5C6C7; text-decoration: none; padding: 0.5rem 1rem; border-radius: 25px; transition: all 0.3s ease; } .nav-links a:hover { background: #66FCF1; color: #1F2833; transform: translateY(-2px); } /* Toggle Button */ .toggle-button { background: #66FCF1; color: #1F2833; border: none; padding: 0.5rem 1rem; border-radius: 25px; cursor: pointer; font-size: 0.9rem; transition: all 0.3s ease; } .toggle-button:hover { background: #45A29E; transform: translateY(-2px); } /* Main content styles */ .main-content { display: flex; flex-direction: column; gap: 30px; margin-top: 30px; } .section { background: #1F2833; border-radius: 10px; padding: 25px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .section-title { font-size: 1.5rem; color: #66FCF1; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #45A29E; } /* Upload section styles */ .upload-options { display: flex; flex-direction: column; gap: 20px; } @media (min-width: 768px) { .upload-options { flex-direction: row; } } .upload-option { flex: 1; padding: 20px; background-color: #0B0C10; border-radius: 8px; border: 1px solid #45A29E; } .upload-option h3 { margin-bottom: 15px; color: #66FCF1; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #C5C6C7; } .form-control { width: 100%; padding: 12px; border: 1px solid #45A29E; background-color: #0B0C10; color: #C5C6C7; border-radius: 4px; font-size: 1rem; } .btn { display: inline-block; padding: 12px 24px; background: linear-gradient(135deg, #66FCF1, #45A29E); color: #1F2833; border: none; border-radius: 25px; cursor: pointer; font-size: 1rem; font-weight: 600; transition: all 0.3s ease; } .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(102, 252, 241, 0.3); } .btn:disabled { background: #1F2833; color: #C5C6C7; cursor: not-allowed; } /* Video preview styles */ .video-container { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; /* 16:9 aspect ratio */ background-color: #0B0C10; margin-top: 20px; border-radius: 8px; overflow: hidden; border: 1px solid #45A29E; } .video-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #C5C6C7; font-size: 1.2rem; text-align: center; padding: 20px; } video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: none; } /* Processing section styles */ .settings-group { margin-bottom: 20px; } .progress-container { height: 20px; background-color: #0B0C10; border-radius: 10px; margin: 20px 0; overflow: hidden; display: none; border: 1px solid #45A29E; } .progress-bar { height: 100%; background: linear-gradient(135deg, #66FCF1, #45A29E); width: 0%; transition: width 0.3s; } /* Shorts section styles */ .shorts-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; margin-top: 20px; } .short-video { position: relative; width: 100%; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); border: 1px solid #45A29E; } .short-video-inner { position: relative; width: 100%; padding-bottom: 177.78%; /* 9:16 aspect ratio */ background-color: #0B0C10; } .short-video-placeholder { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #C5C6C7; font-size: 1rem; text-align: center; padding: 20px; background-color: #1F2833; } .short-video video { display: block; object-fit: cover; } /* Status message styles */ .status { padding: 10px 15px; margin: 10px 0; border-radius: 4px; display: none; } .status.info { background-color: rgba(102, 252, 241, 0.1); color: #66FCF1; display: block; } .status.success { background-color: rgba(69, 162, 158, 0.1); color: #45A29E; display: block; } .status.error { background-color: rgba(255, 99, 71, 0.1); color: tomato; display: block; } /* Advertisement section styles */ .ad-section { margin: 20px 0; padding: 15px; background-color: #1F2833; border-radius: 8px; border: 1px dashed #45A29E; } .ad-section h3 { margin-bottom: 10px; color: #66FCF1; font-size: 1rem; text-transform: uppercase; letter-spacing: 1px; } /* Footer Styles */ .footer { background: #1F2833; padding: 2rem 1rem; margin-top: 2rem; text-align: center; color: #C5C6C7; border-top: 2px solid #66FCF1; } .footer-links { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 1rem; } .footer-links a { color: #C5C6C7; text-decoration: none; transition: all 0.3s ease; } .footer-links a:hover { color: #66FCF1; transform: translateY(-2px); } .social-icons { display: flex; justify-content: center; gap: 1rem; margin-top: 1rem; } .social-icons a { color: #C5C6C7; font-size: 1.5rem; transition: all 0.3s ease; } .social-icons a:hover { color: #66FCF1; transform: translateY(-2px); } /* Responsive adjustments */ @media (max-width: 768px) { .container { padding: 10px; } .section { padding: 15px; } .shorts-container { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); } .header h1 { font-size: 1.8rem; } .nav-links { gap: 0.5rem; } .nav-links a { padding: 0.3rem 0.7rem; font-size: 0.9rem; } } /* Animation for header */ @keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } </style> </head> <body> <header class="header"> <div class="logo"> <div class="logo-circle"> <span>SBT</span> </div> <h1>S B Tech Shorts Maker</h1> </div> <div class="toolbar"> <ul class="nav-links"> <li><a href="https://shortsmaker.sayantv.in/">Home</a></li> <li><a href="https://allin2022lkkkk.blogspot.com/p/about-us-for-shorts-maker.html">About</a></li> <li><a href="https://sbtech.sayantv.in/">Services</a></li> <li><a href="https://allin2022lkkkk.blogspot.com/p/contact-us-for-shorts-maker.html">Contact</a></li> </ul> <button class="toggle-button">Toggle View</button> </div> </header> <div class="container"> <!-- After Header Advertisement Section --> <div class="ad-section" id="header-ad-placement"> <!-- Insert your advertisement code here --> <div style="min-height: 90px; display: flex; align-items: center; justify-content: center; background-color: #0B0C10;"> <!-- Ad content will appear here --> <script type="text/javascript"> atOptions = { 'key' : '54abccb062cd99de70c4f3f1cfd58d5a', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; </script> <script type="text/javascript" src="//www.highperformanceformat.com/54abccb062cd99de70c4f3f1cfd58d5a/invoke.js"></script> </div> </div> <!-- Main Content --> <div class="main-content"> <div class="section"> <h2 class="section-title">Upload Video</h2> <div class="upload-options"> <div class="upload-option"> <h3>Upload from Device</h3> <div class="form-group"> <label for="videoFile">Select video file:</label> <input type="file" id="videoFile" class="form-control" accept="video/*"> </div> </div> <div class="upload-option"> <h3>Upload from URL</h3> <div class="form-group"> <label for="videoUrl">Enter video URL:</label> <input type="text" id="videoUrl" class="form-control" placeholder="https://www.youtube.com/watch?v=..."> </div> </div> </div> <div class="form-group"> <button id="uploadBtn" class="btn">Upload Video</button> <div id="uploadStatus" class="status"></div> </div> <div class="video-container"> <div id="videoPlaceholder" class="video-placeholder"> <p>Video preview will appear here</p> </div> <video id="videoPreview" controls></video> </div> </div> <!-- Processing Section --> <div class="section"> <h2 class="section-title">Generate Shorts</h2> <div class="settings-group"> <div class="form-group"> <label for="shortDuration">Short video duration (seconds):</label> <input type="number" id="shortDuration" class="form-control" value="59" min="1" max="300"> </div> <button id="generateBtn" class="btn" disabled>Generate Shorts</button> <div id="processingStatus" class="status"></div> </div> <div id="processingProgress" class="progress-container"> <div id="progressBar" class="progress-bar"></div> </div> </div> <!-- Shorts Section --> <div class="section"> <h2 class="section-title">Generated Shorts</h2> <div id="shortsContainer" class="shorts-container"> <!-- Short videos will be added here --> </div> <div class="form-group" style="margin-top: 20px; text-align: center;"> <button id="downloadBtn" class="btn" disabled>Download All Shorts</button> <div id="downloadStatus" class="status"></div> </div> </div> </div> <!-- Before Footer Advertisement Section --> <div class="ad-section" id="footer-ad-placement"> <!-- Insert your advertisement code here --> <div style="min-height: 90px; display: flex; align-items: center; justify-content: center; background-color: #0B0C10;"> <!-- Ad content will appear here --> <script type="text/javascript"> atOptions = { 'key' : '54abccb062cd99de70c4f3f1cfd58d5a', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; </script> <script type="text/javascript" src="//www.highperformanceformat.com/54abccb062cd99de70c4f3f1cfd58d5a/invoke.js"></script> </div> </div> </div> <br><center><h2 style="text-align: center;"> <span style="color: #fcff01;">Transform Long Videos into Engaging Shorts with ShortsMaker: The Ultimate Free Video Tool</span></h2><p><br /></p><p style="text-align: center;"><span style="color: #93c47d;">In the fast-paced world of social media, short-form videos have become the go-to content format for creators, influencers, and businesses. Platforms like YouTube Shorts, Instagram Reels, and TikTok are booming with creative videos that capture attention in seconds. However, creating short videos from long-form content can be a tedious task. Enter **<a href="https://shortsmaker.sayantv.in/" target="_blank">ShortsMaker</a>** — a revolutionary free online tool that simplifies the process of turning your long videos into engaging shorts with just a few clicks.</span></p><p style="text-align: center;"><br /></p><h3 style="text-align: center;"> <span style="color: #fcff01;">Why Choose ShortsMaker?</span></h3><p><br /></p><p style="text-align: center;"><span style="color: #93c47d;"><b>**<a href="https://shortsmaker.sayantv.in/" target="_blank">ShortsMaker</a>** offers an intuitive and user-friendly interface, ensuring that even beginners can create professional-quality short videos. Whether you're a content creator, marketer, or business owner, this tool will save you time, effort, and resources. The best part? **No sign-up or login is required, and it’s 100% free to use!**</b></span></p><p><br /></p><h3 style="text-align: center;"> <span style="color: #fcff01;">Key Features of ShortsMaker</span></h3><p><br /></p><p style="text-align: center;">-<b><span style="color: #93c47d;"> **Upload Any Size of Long Video**: There are no restrictions on video size. Simply upload your long video, whether it’s a vlog, tutorial, webinar, or any other type of content.</span></b></p><p style="text-align: center;"><b><span style="color: #93c47d;">- **Select Your Desired Short Video Duration**: Choose the ideal length for your short video. This is perfect for creating bite-sized, engaging content.</span></b></p><p style="text-align: center;"><b><span style="color: #93c47d;">- **Generate Multiple Short Videos**: With just one click, ShortsMaker can generate multiple short videos from your long video, giving you plenty of content options.</span></b></p><p style="text-align: center;"><b><span style="color: #93c47d;">- **No Sign-Up Required**: You can start using the tool instantly without creating an account.</span></b></p><p style="text-align: center;"><b><span style="color: #93c47d;">- **Completely Free**: No hidden fees, watermarks, or restrictions.</span></b></p><p><br /></p><h3 style="text-align: center;"> <span style="color: #fcff01;">How to Use ShortsMaker in 5 Simple Steps</span></h3><p><br /></p><p style="text-align: center;"><b><span style="color: #93c47d;">Using ShortsMaker is a breeze. Follow these steps to transform your long videos into multiple engaging shorts:</span></b></p><p><br /></p><h3 style="text-align: left;"><span style="color: #ff00fe;">1. **Upload Your Video**: </span></h3><p> <b><span style="color: #6aa84f;"> - Visit the official ShortsMaker website at [<a href="https://shortsmaker.sayantv.in/">https://shortsmaker.sayantv.in/</a>](<a href="https://shortsmaker.sayantv.in/)">https://shortsmaker.sayantv.in/)</a>.</span></b></p><h4 style="text-align: left;"> <span style="color: #ff00fe;"> - Click on the **Upload Video** button.</span></h4><p style="text-align: center;"> <b><span style="color: #6aa84f;">- Select the video you want to convert from your device. ShortsMaker supports all popular video formats.</span></b></p><p><br /></p><h3 style="text-align: left;"><span style="color: #ff00fe;">2. **Select Your Short Video Duration**: </span></h3><p style="text-align: center;"> <b><span style="color: #6aa84f;">- Choose the preferred duration for your short videos. You can customize the time as per the platform’s guidelines (e.g., 15 seconds, 30 seconds, or 60 seconds).</span></b></p><p style="text-align: center;"><br /></p><h3 style="text-align: left;"><span style="color: #ff00fe;">3. **Click Generate Short Videos**: </span></h3><p> <b><span style="color: #6aa84f;"> - Once you've set the duration, hit the **Generate Short Videos** button.</span></b></p><p><b><span style="color: #6aa84f;"> - ShortsMaker will automatically process your video and create multiple short clips.</span></b></p><p><br /></p><h3 style="text-align: left;"><span style="color: #ff00fe;">4. **Preview and Download**: </span></h3><p> <b><span style="color: #6aa84f;"> - Review the generated videos.</span></b></p><p><b><span style="color: #6aa84f;"> - Click on each video to preview and ensure it meets your expectations.</span></b></p><p><br /></p><h3 style="text-align: left;"><span style="color: #ff00fe;">5. **Download Your Shorts**: </span></h3><p> <b><span style="color: #6aa84f;">- Simply download your short videos one by one to your device.</span></b></p><p><b><span style="color: #6aa84f;"> - You’re now ready to upload them to your favorite social media platforms!</span></b></p><p><br /></p><h3 style="text-align: center;"><span style="color: #fcff01;"> Benefits of Using ShortsMaker</span></h3><p><br /></p><p style="text-align: center;">-<b><span style="color: #6aa84f;"> **Saves Time and Effort**: No need for complicated video editing software. ShortsMaker automates the entire process.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Boosts Engagement**: Short videos tend to have higher engagement rates, making them perfect for social media.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Repurpose Long Content**: Turn your lengthy webinars, podcasts, and tutorials into multiple short clips to reach a broader audience.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Free and Accessible**: No sign-ups, subscriptions, or hidden costs. Just visit the website and start creating.</span></b></p><p><br /></p><h2 style="text-align: center;"> <span style="color: #fcff01;">How Shorts Are Transforming Content Creation</span></h2><p><br /></p><h4 style="text-align: center;"><b><span style="color: #ff00fe;">Short-form videos have emerged as one of the most engaging content formats. Platforms like TikTok, Instagram Reels, and YouTube Shorts are designed to capture attention quickly. Here’s why short videos are so effective:</span></b></h4><p style="text-align: center;"><br /></p><p style="text-align: center;"><b><span style="color: #6aa84f;">1. **Attention Span Adaptation**: With the average online attention span shrinking, short videos are more likely to be watched to completion.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">2. **Algorithm Friendly**: Most platforms promote short videos, making it easier to reach a larger audience.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">3. **Higher Engagement**: Quick, digestible content encourages likes, shares, and comments.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">4. **Content Repurposing**: Creators can easily convert long videos into multiple engaging shorts.</span></b></p><p style="text-align: center;"><br /></p><h3 style="text-align: center;"> <span style="color: #fcff01;">Tips for Creating Viral Shorts Using ShortsMaker</span></h3><p><br /></p><h3 style="text-align: center;"><span style="color: red;">To maximize the impact of your short videos, follow these tips:</span></h3><p><br /></p><p style="text-align: center;"><b><span style="color: #6aa84f;">1. **Start with an Attention-Grabbing Hook**: Make sure the first 3 seconds are captivating to keep viewers engaged.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">2. **Add Captions and Text**: Many viewers watch videos without sound. Use text overlays to convey your message.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">3. **Maintain Consistency**: Create a consistent style, tone, and branding for your short videos.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">4. **Include a Call to Action**: Encourage viewers to like, comment, and share your content.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">5. **Analyze Performance**: Track how your short videos perform and adjust your strategy accordingly.</span></b></p><p><br /></p><h3 style="text-align: center;"> <span style="color: #fcff01;">Monetization Opportunities with Shorts</span></h3><p><br /></p><h3 style="text-align: center;"><span style="color: #ff00fe;">YouTube and other platforms offer monetization opportunities for short-form videos. Here’s how you can make money using ShortsMaker:</span></h3><p><br /></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Ad Revenue**: Monetize your YouTube Shorts through the YouTube Partner Program.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Brand Partnerships**: Collaborate with brands to promote their products.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Affiliate Marketing**: Add affiliate links in your video descriptions.</span></b></p><p style="text-align: center;"><b><span style="color: #6aa84f;">- **Channel Growth**: Gain subscribers quickly with viral short videos.</span></b></p><p><br /></p><h2 style="text-align: center;"><span style="color: #fcff01;"> Case Studies: Real-Life Success with ShortsMaker</span></h2><p><br /></p><h3 style="text-align: left;"> <span style="color: #6aa84f;">**Case 1: Content Creator Growth**</span></h3><p><b><span style="color: #ff00fe;">A YouTuber repurposed his hour-long podcasts into multiple short videos using ShortsMaker. Within weeks, his channel saw a 300% increase in views and subscriber count.</span></b></p><p><br /></p><h3 style="text-align: left;"><span style="color: #6aa84f;">**Case 2: Small Business Boost**</span></h3><p><b><span style="color: #ff00fe;">A small business used ShortsMaker to generate product demonstration videos. The engaging short videos increased their product sales by 150%.</span></b></p><p><br /></p><h3 style="text-align: left;"> <span style="color: #6aa84f;">**Case 3: Educator Engagement**</span></h3><p><b><span style="color: #ff00fe;">An educator created bite-sized educational content using ShortsMaker. Her informative Shorts went viral, leading to partnerships with educational platforms.</span></b></p><p><br /></p><h2 style="text-align: left;"><span style="color: #04ff00;">Conclusion</span></h2><p><br /></p><p style="text-align: center;"><b><span style="color: #ff00fe;">**<a href="https://shortsmaker.sayantv.in/" target="_blank">ShortsMaker</a>** is a game-changer for content creators seeking to streamline their video production process. By offering a free, no-sign-up platform, it removes all barriers to creating high-quality short videos. Whether you’re repurposing long-form content, promoting products, or engaging with your audience, ShortsMaker has got you covered.</span></b></p><p style="text-align: center;"><b><span style="color: #ff00fe;"><br /></span></b></p><p style="text-align: center;"><b><span style="color: #ff00fe;">Ready to take your video content to the next level? Head over to [ShortsMaker](<a href="https://shortsmaker.sayantv.in/">https://shortsmaker.sayantv.in/</a>) and start creating viral short videos today!</span></b></p><p style="text-align: center;"><b><span style="color: #ff00fe;"><br /></span></b></p><p style="text-align: center;"><b><span style="color: #ff00fe;">Let your creativity shine, and watch your content go viral with **<a href="https://shortsmaker.sayantv.in/" target="_blank">ShortsMaker</a>**!</span></b></p><p style="text-align: center;"><br /></p> </center></br> <!-- Footer --> <footer class="footer"> <div class="footer-links"> <a href="https://allin2022lkkkk.blogspot.com/p/privacy-policy-for-shorts-maker.html ">Privacy Policy</a> <a href="https://allin2022lkkkk.blogspot.com/p/terms-of-service-for-shorts-maker.html ">Terms of Service</a> <a href="https://allin2022lkkkk.blogspot.com/p/contact-us-for-shorts-maker.html ">Contact Us</a> </div> <div class="social-icons"> <a href="#"><i class="fab fa-facebook"></i></a> <a href="#"><i class="fab fa-twitter"></i></a> <a href="#"><i class="fab fa-instagram"></i></a> <a href="#"><i class="fab fa-linkedin"></i></a> </div> <p>© 2025 S B Tech. All rights reserved.</p> </footer> <!-- Include JSZip library for creating ZIP files --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script> <!-- Include FileSaver.js for downloading files --> <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> <script> // Global variables let originalVideo = null; let videoBlob = null; let videoUrl = ''; let shortVideos = []; let isProcessing = false; let youtubePlayer = null; // DOM Elements const videoFileInput = document.getElementById('videoFile'); const videoUrlInput = document.getElementById('videoUrl'); const uploadBtn = document.getElementById('uploadBtn'); const videoPlaceholder = document.getElementById('videoPlaceholder'); const videoPreview = document.getElementById('videoPreview'); const uploadStatus = document.getElementById('uploadStatus'); const shortDurationInput = document.getElementById('shortDuration'); const generateBtn = document.getElementById('generateBtn'); const processingStatus = document.getElementById('processingStatus'); const processingProgress = document.getElementById('processingProgress'); const progressBar = document.getElementById('progressBar'); const shortsContainer = document.getElementById('shortsContainer'); const downloadBtn = document.getElementById('downloadBtn'); const downloadStatus = document.getElementById('downloadStatus'); const toggleButton = document.querySelector('.toggle-button'); // Event Listeners document.addEventListener('DOMContentLoaded', function() { // Reset status messages resetStatus(); // File input change event videoFileInput.addEventListener('change', function(e) { if (this.files && this.files[0]) { resetStatus(); const file = this.files[0]; // Clear URL input videoUrlInput.value = ''; // Store the original video file originalVideo = file; } }); // Toggle button for light/dark mode toggleButton.addEventListener('click', function() { document.body.classList.toggle('light-mode'); // This is just a placeholder for toggle functionality // In a real implementation, you would add light mode styles }); }); // Extract YouTube video ID from URL function getYouTubeVideoId(url) { // Handle different YouTube URL formats const regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/; const match = url.match(regExp); return (match && match[2].length === 11) ? match[2] : null; } // Handle video upload (from file or URL) function handleUpload() { resetStatus(); if (originalVideo) { // File upload processVideoFile(originalVideo); } else if (videoUrlInput.value.trim() !== '') { // URL upload const inputUrl = videoUrlInput.value.trim(); // Check if it's a YouTube URL const youtubeId = getYouTubeVideoId(inputUrl); if (youtubeId) { // Handle YouTube URL showStatus(uploadStatus, 'Processing YouTube video...', 'info'); // Create YouTube embed videoPlaceholder.style.display = 'none'; videoPreview.style.display = 'block'; // Set up YouTube iframe API if not already loaded if (!window.YT) { // Load YouTube iframe API const tag = document.createElement('script'); tag.src = 'https://www.youtube.com/iframe_api'; const firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // Set up callback for when API is ready window.onYouTubeIframeAPIReady = function() { loadYouTubeVideo(youtubeId); }; } else { // YouTube API already loaded loadYouTubeVideo(youtubeId); } } else { // Regular video URL videoUrl = inputUrl; showStatus(uploadStatus, 'Fetching video from URL...', 'info'); // Create a video element to test the URL const testVideo = document.createElement('video'); testVideo.onloadedmetadata = function() { showStatus(uploadStatus, 'Video loaded successfully!', 'success'); videoPlaceholder.style.display = 'none'; videoPreview.style.display = 'block'; videoPreview.src = videoUrl; generateBtn.disabled = false; }; testVideo.onerror = function() { showStatus(uploadStatus, 'Invalid video URL or video format not supported.', 'error'); }; testVideo.src = videoUrl; } } else { showStatus(uploadStatus, 'Please select a file or enter a valid URL.', 'error'); } } // Load YouTube video using iframe API function loadYouTubeVideo(videoId) { // If there's an existing video element, hide it videoPreview.style.display = 'none'; // Check if YouTube container already exists, if not create it let youtubeContainer = document.getElementById('youtubeContainer'); if (!youtubeContainer) { youtubeContainer = document.createElement('div'); youtubeContainer.id = 'youtubeContainer'; youtubeContainer.style.width = '100%'; youtubeContainer.style.height = '100%'; youtubeContainer.style.position = 'absolute'; youtubeContainer.style.top = '0'; youtubeContainer.style.left = '0'; document.querySelector('.video-container').appendChild(youtubeContainer); } else { youtubeContainer.style.display = 'block'; } // Create YouTube player if (youtubePlayer) { youtubePlayer.loadVideoById(videoId); } else { youtubePlayer = new YT.Player('youtubeContainer', { videoId: videoId, playerVars: { 'playsinline': 1, 'controls': 1, 'modestbranding': 1 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } // Hide placeholder videoPlaceholder.style.display = 'none'; } // YouTube player ready event function onPlayerReady(event) { showStatus(uploadStatus, 'YouTube video loaded successfully!', 'success'); generateBtn.disabled = false; // Store video duration for processing if (youtubePlayer && youtubePlayer.getDuration) { const duration = youtubePlayer.getDuration(); console.log("YouTube video duration:", duration); // Store as a property on the player for later use youtubePlayer.videoDuration = duration; } } // YouTube player state change event function onPlayerStateChange(event) { // You can handle different player states here if needed // YT.PlayerState.ENDED, YT.PlayerState.PLAYING, YT.PlayerState.PAUSED, etc. } // Process uploaded video file function processVideoFile(file) { showStatus(uploadStatus, 'Processing video...', 'info'); // Hide YouTube container if it exists const youtubeContainer = document.getElementById('youtubeContainer'); if (youtubeContainer) { youtubeContainer.style.display = 'none'; } // Create object URL for the video file const objectUrl = URL.createObjectURL(file); videoUrl = objectUrl; // Update video preview videoPlaceholder.style.display = 'none'; videoPreview.style.display = 'block'; videoPreview.src = objectUrl; videoPreview.onloadedmetadata = function() { showStatus(uploadStatus, 'Video loaded successfully!', 'success'); generateBtn.disabled = false; }; videoPreview.onerror = function() { showStatus(uploadStatus, 'Error loading video. Format may not be supported.', 'error'); }; } // Generate short videos from the uploaded video function generateShorts() { if (isProcessing) return; isProcessing = true; shortVideos = []; shortsContainer.innerHTML = ''; showStatus(processingStatus, 'Processing video into shorts...', 'info'); processingProgress.style.display = 'block'; progressBar.style.width = '0%'; const shortDuration = parseInt(shortDurationInput.value) || 59; // Simulate video processing with progress updates let progress = 0; // Get video duration from either YouTube player or regular video element let totalDuration; if (youtubePlayer) { try { // Get duration directly from the player API totalDuration = youtubePlayer.getDuration(); console.log("Getting duration directly from YouTube API:", totalDuration); // If duration is not available or invalid, use a default value if (!totalDuration || isNaN(totalDuration) || totalDuration <= 0) { console.log("Invalid duration from YouTube API, using default"); totalDuration = 300; // Default 5 minutes } } catch (error) { console.error("Error getting YouTube duration:", error); totalDuration = 300; // Default 5 minutes } } else { totalDuration = videoPreview.duration; console.log("Using regular video duration:", totalDuration); } const numberOfShorts = Math.ceil(totalDuration / shortDuration); // Clear previous shorts shortsContainer.innerHTML = ''; // Create placeholder for shorts for (let i = 0; i < numberOfShorts; i++) { const startTime = i * shortDuration; const endTime = Math.min((i + 1) * shortDuration, totalDuration); // Create short video container const shortVideoDiv = document.createElement('div'); shortVideoDiv.className = 'short-video'; shortVideoDiv.innerHTML = ` <div class="short-video-inner"> <div class="short-video-placeholder"> Short #${i + 1}<br> ${formatTime(startTime)} - ${formatTime(endTime)} </div> </div> `; shortsContainer.appendChild(shortVideoDiv); } // Simulate processing with progress updates const processInterval = setInterval(() => { progress += 5; progressBar.style.width = `${progress}%`; if (progress >= 100) { clearInterval(processInterval); completeProcessing(numberOfShorts, shortDuration, totalDuration); } }, 200); } // Complete the processing simulation and create video elements function completeProcessing(numberOfShorts, shortDuration, totalDuration) { // Clear shorts container and rebuild with video elements shortsContainer.innerHTML = ''; for (let i = 0; i < numberOfShorts; i++) { const startTime = i * shortDuration; const endTime = Math.min((i + 1) * shortDuration, totalDuration); // Create a short video container const shortVideoDiv = document.createElement('div'); shortVideoDiv.className = 'short-video'; const shortVideoInner = document.createElement('div'); shortVideoInner.className = 'short-video-inner'; // Check if we're using YouTube or regular video if (youtubePlayer) { // For YouTube videos, create a thumbnail with time information const shortPlaceholder = document.createElement('div'); shortPlaceholder.className = 'short-video-placeholder'; try { // Get YouTube video ID - safely let videoId; try { videoId = youtubePlayer.getVideoData().video_id; } catch (error) { console.error("Error getting video ID:", error); // Try to get video ID from the URL if available const urlInput = videoUrlInput.value.trim(); videoId = getYouTubeVideoId(urlInput) || 'dQw4w9WgXcQ'; // Default if all else fails } // Create thumbnail image const thumbnailImg = document.createElement('img'); thumbnailImg.src = `https://img.youtube.com/vi/${videoId}/mqdefault.jpg`; thumbnailImg.style.width = '100%'; thumbnailImg.style.height = '100%'; thumbnailImg.style.position = 'absolute'; thumbnailImg.style.top = '0'; thumbnailImg.style.left = '0'; thumbnailImg.style.objectFit = 'cover'; thumbnailImg.style.opacity = '0.7'; // Create time overlay const timeOverlay = document.createElement('div'); timeOverlay.style.position = 'absolute'; timeOverlay.style.bottom = '10px'; timeOverlay.style.right = '10px'; timeOverlay.style.backgroundColor = 'rgba(0,0,0,0.7)'; timeOverlay.style.color = 'white'; timeOverlay.style.padding = '3px 6px'; timeOverlay.style.borderRadius = '3px'; timeOverlay.style.fontSize = '0.8rem'; timeOverlay.textContent = `${formatTime(startTime)} - ${formatTime(endTime)}`; // Add elements to the short video container shortPlaceholder.appendChild(thumbnailImg); shortPlaceholder.appendChild(timeOverlay); } catch (error) { console.error("Error creating YouTube thumbnail:", error); shortPlaceholder.textContent = `Short #${i+1}: ${formatTime(startTime)} - ${formatTime(endTime)}`; } shortVideoInner.appendChild(shortPlaceholder); } else { // For regular videos, create a video element const videoElement = document.createElement('video'); videoElement.src = videoUrl; videoElement.controls = true; // Set the playback range for this short videoElement.addEventListener('loadedmetadata', function() { this.currentTime = startTime; }); videoElement.addEventListener('timeupdate', function() { if (this.currentTime >= endTime) { this.pause(); this.currentTime = startTime; } }); shortVideoInner.appendChild(videoElement); } shortVideoDiv.appendChild(shortVideoInner); shortsContainer.appendChild(shortVideoDiv); // Store information about this short for download shortVideos.push({ index: i, startTime: startTime, endTime: endTime, duration: endTime - startTime, isYouTube: !!youtubePlayer }); } showStatus(processingStatus, `Successfully generated ${numberOfShorts} shorts!`, 'success'); downloadBtn.disabled = false; isProcessing = false; } // Download all shorts as a ZIP file function downloadShorts() { showStatus(downloadStatus, 'Preparing shorts for download...', 'info'); try { // Check if shortVideos array is populated if (shortVideos.length === 0) { showStatus(downloadStatus, 'No shorts available to download. Please generate shorts first.', 'error'); return; } // Create a new JSZip instance const zip = new JSZip(); // In a real implementation, we would need to extract the actual video segments // Here we'll simulate by creating text files with timestamps shortVideos.forEach((short, index) => { let content; if (short.isYouTube) { // For YouTube videos, include YouTube video information let videoId, videoTitle; try { videoId = youtubePlayer.getVideoData().video_id; videoTitle = youtubePlayer.getVideoData().title; } catch (error) { console.error("Error getting YouTube data for download:", error); // Extract from URL if available const urlMatch = /(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/i.exec(videoUrlInput.value); videoId = urlMatch ? urlMatch[1] : "Unknown"; videoTitle = "YouTube Video"; } content = `YouTube Short #${index + 1}\n` + `Video ID: ${videoId}\n` + `Title: ${videoTitle}\n` + `Start Time: ${formatTime(short.startTime)}\n` + `End Time: ${formatTime(short.endTime)}\n` + `Duration: ${short.duration.toFixed(2)} seconds\n\n` + `YouTube URL: https://www.youtube.com/watch?v=${videoId}&t=${Math.floor(short.startTime)}s\n\n` + `In a real implementation, this would be an actual video segment extracted from YouTube.`; } else { // For regular videos content = `This is a placeholder for Short #${index + 1}\n` + `Start Time: ${formatTime(short.startTime)}\n` + `End Time: ${formatTime(short.endTime)}\n` + `Duration: ${short.duration.toFixed(2)} seconds\n\n` + `In a real implementation, this would be an actual video file.`; } zip.file(`short_${index + 1}.txt`, content); }); // Generate the ZIP file zip.generateAsync({ type: 'blob' }) .then(function(content) { // Use FileSaver.js to save the ZIP file if (typeof saveAs !== 'function') { throw new Error('FileSaver.js is not loaded properly'); } // Force download with FileSaver saveAs(content, 'shorts.zip'); showStatus(downloadStatus, 'Download complete!', 'success'); }) .catch(function(error) { console.error('ZIP generation error:', error); showStatus(downloadStatus, 'Error creating ZIP file: ' + error.message, 'error'); }); } catch (error) { console.error('Download function error:', error); showStatus(downloadStatus, 'Error in download process: ' + error.message, 'error'); } } // Helper function to format time in MM:SS format function formatTime(seconds) { const mins = Math.floor(seconds / 60); const secs = Math.floor(seconds % 60); return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; } // Reset all status messages function resetStatus() { uploadStatus.textContent = ''; uploadStatus.className = 'status'; processingStatus.textContent = ''; processingStatus.className = 'status'; downloadStatus.textContent = ''; downloadStatus.className = 'status'; } // Show status message function showStatus(element, message, type) { element.textContent = message; element.className = `status ${type}`; } // Add event listeners uploadBtn.addEventListener('click', handleUpload); generateBtn.addEventListener('click', generateShorts); downloadBtn.addEventListener('click', downloadShorts); </script> </body> </html>
0 Comments