
Security News
November CVEs Fell 25% YoY, Driven by Slowdowns at Major CNAs
November CVE publications fell 25% YoY even as 2025 totals rose, showing how a few major CNAs can swing “global” counts and skew perceived risk.
@shipworthy/video-to-shorts
Advanced tools
A command-line tool for automatically converting long-form videos into engaging short-form content using AI-powered scene analysis.
A command-line tool for automatically converting long-form videos into engaging short-form content using AI-powered scene analysis.
Using yarn:
yarn global add @shipworthy/video-to-shorts
Or using pnpm:
pnpm add -g @shipworthy/video-to-shorts
The CLI will automatically attempt to install FFmpeg if it's not found:
For other Linux distributions, please install FFmpeg using your distribution's package manager.
export OPENAI_API_KEY=your-api-key
# Process a directory of videos
video-to-shorts /path/to/videos
# Process a single video
video-to-shorts /path/to/video.mp4
Process videos into short-form content:
video-to-shorts <input> [options]
<input> - Directory containing videos or path to a single video file-o, --output <path> - Output directory for processed videos (default: ./video-to-shorts inside input directory)-t, --temp <path> - Temporary directory for frame extraction (default: system temp directory)-c, --config <json|path> - Analyzer config as JSON string or path to JSON file-f, --frame-interval <number> - Analyze one frame every N frames (higher values = faster but less precise) (default: 30)-p, --parallel-frames <number> - Number of frames to analyze in parallel within each video (default: 4)-j, --jobs <number> - Number of videos to process concurrently (default: number of CPU cores)-s, --start <time> - Start time of the video (format: HH:MM:SS or MM:SS)-e, --end <time> - End time of the video (format: HH:MM:SS or MM:SS)-k, --openai-api-key <key> - OpenAI API key (can also be set via OPENAI_API_KEY environment variable)-d, --debug - Enable debug mode with verbose logging-v, --version - Display version information-h, --help - Display help for command# Process all videos in the current directory
video-to-shorts .
# Process a single video
video-to-shorts ./video.mp4
# Process videos with debug logging enabled
video-to-shorts ./videos --debug
# Process videos with a specific output directory
video-to-shorts ./videos -o ./shorts
# Process 2 videos concurrently (max: number of CPU cores)
video-to-shorts ./videos -j 2
# Process videos with custom frame analysis settings
video-to-shorts ./videos -f 60 -p 3 # Analyze every 60th frame, 3 frames in parallel
# Process a specific portion of videos
video-to-shorts ./videos -s 00:30 -e 02:00 # Process from 30s to 2min mark
# Process a video with start/end times in filename
video-to-shorts ./00:00:30-00:02:00.mp4 # Process from 30s to 2min mark
# Use analyzer config from a file
video-to-shorts ./videos -c ./video-to-shorts.json
# Use analyzer config as JSON string
video-to-shorts ./videos -c '{"keep": "Content is engaging", "confidenceThreshold": 0.8}'
You can specify start and end times for a video by naming it in the format HH:MM:SS-HH:MM:SS.mp4. For example:
00:00:30-00:02:00.mp4 - Process from 30 seconds to 2 minutes01:30:00-01:35:00.mp4 - Process from 1 hour 30 minutes to 1 hour 35 minutesThis is an alternative to using the -s and -e command line options.
The analyzer config can be provided in two ways:
Example JSON configuration:
{
"keep": "Content is interesting, important, or high quality",
"remove": "Content is unwanted, irrelevant, or of poor quality",
"speedUp": "Content is repetitive, slow, or less interesting but still relevant",
"confidenceThreshold": 0.7,
"openaiApiKey": "your-api-key" // Optional, can also be set via environment variable or CLI flag
}
Each field defines how the analyzer should process the video:
keep: Scenes that should be kept as-isremove: Scenes that should be removed from the final videospeedUp: Scenes that should be sped upconfidenceThreshold: Minimum confidence level (0-1) required for a decision to be acceptedopenaiApiKey: Your OpenAI API key (optional if provided via environment or CLI)Using a configuration file:
video-to-shorts ./videos -c ./video-to-shorts.json
Using a JSON string:
video-to-shorts ./videos -c '{"keep": "Content is engaging", "remove": "Content is boring"}'
FAQs
A command-line tool for automatically converting long-form videos into engaging short-form content using AI-powered scene analysis.
We found that @shipworthy/video-to-shorts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
November CVE publications fell 25% YoY even as 2025 totals rose, showing how a few major CNAs can swing “global” counts and skew perceived risk.

Security News
React disclosed a CVSS 10.0 RCE in React Server Components and is advising users to upgrade affected packages and frameworks to patched versions now.

Research
/Security News
We spotted a wave of auto-generated “elf-*” npm packages published every two minutes from new accounts, with simple malware variants and early takedowns underway.