Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tensoraws/batch-video-encoder
An interactive Batch Video Encoder using FFmpeg with Progress Restore.
https://github.com/tensoraws/batch-video-encoder
ffmpeg nvenc python video-encoder x264 x265
Last synced: 3 months ago
JSON representation
An interactive Batch Video Encoder using FFmpeg with Progress Restore.
- Host: GitHub
- URL: https://github.com/tensoraws/batch-video-encoder
- Owner: TensoRaws
- License: mit
- Created: 2022-08-09T17:03:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-11T18:06:17.000Z (almost 2 years ago)
- Last Synced: 2024-11-08T00:36:22.094Z (3 months ago)
- Topics: ffmpeg, nvenc, python, video-encoder, x264, x265
- Language: Python
- Homepage:
- Size: 25.4 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Batch Video Encoder
## Features
* This tool allows you to encode all videos in a folder at once using ffmpeg commands.
* The original non-video files will be retained in their relative path.
* Progress can be restored.## Prerequisites
Make sure you have the following dependencies installed and configured:* **[Python](https://www.python.org/downloads/)** 3.6 or above
* **[FFmpeg](https://www.ffmpeg.org/)** should be installed and added in the environment variables.## Getting Started
#### IN ` if __name__ == "__main__": `
* set ffmpeg config like ` echo y | ffmpeg -i \"{}\" -c:a aac -ac 2 -c:v hevc_nvenc -profile main10 \"{}\" `
* `\"{}\"` is the input and output file path### Example
```
if __name__ == "__main__":
worker_01 = BatchVideoEncoder()
worker_01.ffmpeg_config = "echo y | ffmpeg -hwaccel cuda -hwaccel_output_format cuda -extra_hw_frames 8 -i \"{}\"" \
" -vf \"hwdownload,format=nv12\" -c:a aac -ac 2 -c:v hevc_nvenc -profile main10 -pix_fmt" \
" p010le -preset slow -rc vbr -cq 16 \"{}\" "
worker_01.encode_name = "-Encode"
worker_01.encode_format = ".mkv"
# Creat a new folder, copy then encode. Not suggest to choose FALSE, It may cause losing original files
worker_01.new_dir_to_encode = True
```