Coder Social home page Coder Social logo

video-diet's Introduction

Video diet

License: GPL v3 Last commit GitHub commit activity Github Stars Github Forks Github Watchers GitHub contributors

This project aims to reduce the spaces of your videos and audios encoding it on hevc.

Why video-diet?

The answer is easy. I have a lot old-movies/videos and music/audios taking a lot of space in the hard-drive. So I'm always short on disk space, the by accident discover de hevc codec. when i need to shrink a video of 3GB to upload it to Telegram, the convertion take my 3GB movie and returned a 300 MB with the same quality ๐Ÿ˜ฑ. So I decided that I would convert all my video and audio files , but they are a lot, so I build this tool for it.

More info about hevc:

https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding

Installation

$ pip install video-diet

FFMPEG

In order to run the project you must install ffmpeg.

For Linux

In any linux machine you can get it from your favorite package manager.

For arch:

sudo pacman -S ffmpeg

For Debian/Ubuntu:

sudo apt-get install ffmpeg

For Windows

Download a windows ffmpeg build here https://ffmpeg.org/download.html. Unzip it and change the folder name to FFmpeg. Copy the folder into C:\ and then add the path C:\FFmpeg\bin to the enviroment variables of the system.

To check correct instalation open a new instance of cmd and type:

ffmpeg --version`.

Example

For a file

video-diet file test.mp4

This option conserve the original file

For a folder

video-diet folder ~/Videos

This option replaces the original file for the converted files

Ignoring files on the folder

video-diet folder ~/Videos --ignore-extension .mp4

This option ignores all the .mp4 files on ~/Videos

video-diet folder ~/Videos --ignore-path ~/Videos/subfolder

This option ignores all the files on ~/Videos/subfolder

Note

The video conversion can take some time. Depending on the original video properties; the conversion time can be longer than the video.

For developers

You must first install poetry

Poetry provides a custom installer that will install poetry isolated from the rest of your system by vendorizing its dependencies. This is the recommended way of installing poetry.

osx / linux / bashonwindows install instructions

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

windows powershell install instructions

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python

The installer installs the poetry tool to Poetry's bin directory. On Unix it is located at $HOME/.poetry/bin and on Windows at %USERPROFILE%\.poetry\bin.

This directory will be in your $PATH environment variable, which means you can run them from the shell without further configuration.

Then you need to configure the environment

Inside the project make poetry install and after poetry shell for start the virtualenv.

For testing the code run video-diet.

See CONTRIBUTING.md for more details.

Good luck ๐Ÿ˜‰.

Project Structure based on awesome tutorial by @tiangolo at https://typer.tiangolo.com/tutorial/package

video-diet's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.