All Projects → BrianDMG → conv2mp4-py

BrianDMG / conv2mp4-py

Licence: GPL-3.0 license
Python script that recursively searches through a user-defined file path and converts all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. If a conversion failure is detected, the script re-encodes the file with HandbrakeCLI. Upon successful encoding, Plex libraries are refreshed and source file is deleted. …

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to conv2mp4-py

UpdateTool
A tool to update the IMDB ratings for Plex libraries that contain movies/series and use the IMDB agent to receive ratings
Stars: ✭ 195 (+427.03%)
Mutual labels:  plex, plex-server, plex-media-server, plex-library
Conv2mp4 Ps
This Powershell script will recursively search through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. The purpose of this script is to reduce transcoding CPU load on a media server like Plex or Emby and increase video compatibility across platforms.
Stars: ✭ 97 (+162.16%)
Mutual labels:  h264, plex, aac, plex-media-server
plex-utills
Manage your Plex library automatically
Stars: ✭ 258 (+597.3%)
Mutual labels:  plex, plex-server, plex-media-server
plex-api
.NET Core SDK for Plex Media Server
Stars: ✭ 70 (+89.19%)
Mutual labels:  plex, plex-media-server, plex-library
PlexServerAutoUpdater
Automatically update Plex when running the Plex service.
Stars: ✭ 94 (+154.05%)
Mutual labels:  plex, plex-server, plex-media-server
plex-traefik
Plex media server with traefik 2 in docker and docker-compose
Stars: ✭ 30 (-18.92%)
Mutual labels:  plex, plex-server, plex-media-server
plexmedia-downloader
Offline download media from Plex Media Server
Stars: ✭ 15 (-59.46%)
Mutual labels:  plex, plex-server, plex-media-server
Libstreaming
A solution for streaming H.264, H.263, AMR, AAC using RTP on Android
Stars: ✭ 3,167 (+8459.46%)
Mutual labels:  h264, aac
Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (+705.41%)
Mutual labels:  h264, aac
Media Stream Library Js
JavaScript library to handle media streams on the command line (Node.js) and in the browser.
Stars: ✭ 192 (+418.92%)
Mutual labels:  h264, aac
Camerartmpsdk
CameraRtmpSDK is an audio and video based on ffmpeg SDK, is committed to creating a cross-platform audio and video sampling, encoding, mixing, protocol upload program.
Stars: ✭ 95 (+156.76%)
Mutual labels:  h264, aac
laav
Asynchronous Audio / Video Library for H264 / MJPEG / OPUS / AAC / MP2 encoding, transcoding, recording and streaming from live sources
Stars: ✭ 50 (+35.14%)
Mutual labels:  h264, aac
RtmpPublishKit
rtmp publish kit for android , encode with mediacodec
Stars: ✭ 106 (+186.49%)
Mutual labels:  h264, aac
Trinity
android video record editor muxer sdk
Stars: ✭ 609 (+1545.95%)
Mutual labels:  h264, aac
demuxer
A tool for demux ts/mp4/flv by typescript. Support HEVC/AVC/AAC codec
Stars: ✭ 108 (+191.89%)
Mutual labels:  h264, aac
Ultimate Media Server Core
A bunch of scripts that I've collected, written, and forked for the ultimate administration & automation of your Media Server - Think of this as your "Media server in a box"
Stars: ✭ 188 (+408.11%)
Mutual labels:  plex, plex-media-server
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (+2283.78%)
Mutual labels:  h264, aac
Nodeplayer.js
Pure JavaScrip HTML5 live stream player
Stars: ✭ 157 (+324.32%)
Mutual labels:  h264, aac
Haishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Stars: ✭ 2,237 (+5945.95%)
Mutual labels:  h264, aac
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (+2.7%)
Mutual labels:  h264, aac

conv2mp4-py

Pythonl script that recursively searches through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio as needed using ffmpeg. If a conversion failure is detected, the script re-encodes the file with HandbrakeCLI. Upon successful encoding, Plex libraries are refreshed and source file is deleted. The purpose of this script is to reduce the amount of transcoding CPU load on a Plex server and increase video compatibility across platforms.

PowerShell version can be found here: conv2mp4-ps

Dependencies
This script requires Python 2.7+, ffmpeg, ffprobe (included with ffmpeg), and Handbrake (HandbrakeCLI.exe) to be installed. You can download them from here:
Python 2.7+
ffmpeg
Handbrake

Usage
Run this script the same way you would run any other Python script on your system.

User-defined variables
There are several user-defined variables you will need to edit using notepad or a program like Notepad++.

media_path = the path to the media you want to convert
file_types = the extensions of the files you want to convert in the format ".ex1", ".ex2"
log_path = path you want the log file to save to.
log_name = the filename of the log file plex_ip = the IP address and port of your Plex server (for the purpose of refreshing its libraries)
plex_token = your Plex server's token (for the purpose of refreshing its libraries).
NOTE: See https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token
Plex server token is also easy to retrieve with PlexPy, Ombi, Couchpotato, or SickRage

ffmeg_bin_dir = path to ffmpeg bin folder. This is the directory containing ffmpeg and ffprobe executables.
ffmpeg_exe = name of the ffmpeg executable (eg. ffmpeg.exe, ffmpeg.sh, etc.)
ffprobe_exe = name of the ffprobe executable (eg. ffprobe.exe, ffprobe.sh, etc.)
handbrake_dir = path to Handbrake directory (no trailing ""). This is the directory containing HandBrakeCLI.exe
handbrakecli_exe = name of the handbrakecli executable (eg. handbrakecli.exe, handbrake.sh)
garbage = the extensions of the files you want to delete in the format ".ex1", ".ex2".

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].