New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

media_trim

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

media_trim

  • 0.2.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

media_trim Gem Version

Trims an audio or video file using ffmpeg.

  • Works with all formats supported by ffmpeg, including mp3, mp4, mkv, and many more.
  • Seeks to the nearest frame positions by re-encoding the media.
  • Reduces file size produced by OBS Studio by over 80 percent.
  • Can be used as a Ruby gem.
  • Installs the trim command.

Installation

You need a working Ruby environment to install this program. I describe how to set that up here.

Standalone

The trim command is provided by the media_trim Ruby gem. Install it like this:

$ gem install media_trim

As a Dependency of a Ruby Program

Add this line to your application’s Gemfile:

gem 'media_trim'

Then execute:

$ bundle

As a Dependency of a Ruby Gem

Add the following to your application’s .gemspec:

spec.add_dependency 'media_trim'

Then execute:

$ bundle

Usage

Command-line Usage

trim [OPTIONS] dir/file.ext start [[to|for] end]
  • The start and end timecodes have the format [HH:[MM:]]SS[.XXX]. Note that decimal seconds may be specified, but frames may not; this is consistent with how ffmpeg parses timecodes.
  • end defaults to the end of the audio/video file

When run as a command, output files are named by adding a trim. prefix to the media file name, e.g. dir/trim.file.ext. By default, the trim command does not overwrite pre-existing output files. When trimming is complete, the trim command displays the trimmed file, unless the -q option is specified.

OPTIONS are:

  • -d Enable debug output.
  • -h Display help information.
  • -f Overwrite output file if present.
  • -v Verbose output.
  • -V Do not view the trimmed file when complete.
Examples

Crop dir/file.mp4 from 15.0 seconds to the end of the video, save to demo/trim.demo.mp4:

$ trim demo/demo.mp4 15

Crop dir/file.mkv from 3 minutes, 25 seconds to 9 minutes, 35 seconds, save to demo/trim.demo.mp4:

$ trim demo/demo.mp4 3:25 9:35

Same as the previous example, using optional to syntax:

$ trim demo/demo.mp4 3:25 to 9:35

Save as the previous example, but specify the duration instead of the end time by using the for keyword:

$ trim demo/demo.mp4 3:25 for 6:10

Figuring Out Start and Stop Times

Need a way to figure out the start and stop times to trim a video? DJV is an excellent video viewer.

  • Allows frame-by-frame stepping
  • Displays the current time reliabily
  • F/OSS
  • Mac, Windows, Linux
  • High quality

Development

After checking out this git repository, install dependencies by typing:

$ bin/setup

You should do the above before running Visual Studio Code.

Run the Tests

$ bundle exec rake test

Interactive Session

The following will allow you to experiment:

$ bin/console

Local Installation

To install this gem onto your local machine, type:

$ bundle exec rake install

To Release A New Version

To create a git tag for the new version, push git commits and tags, and push the new version of the gem to https://rubygems.org, type:

$ bundle exec rake release

Contributing

Bug reports and pull requests are welcome at https://github.com/mslinn/trim.

License

The gem is available as open source under the terms of the MIT License.

FAQs

Package last updated on 29 Nov 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc