Consolidate and format Tesla vehicle camera video data
Project description
teslacam
Tesla Camera
This is a very simple python 3 script to help me consolidate my Tesla's raw camera data into nicely formatted videos. It tries to maintain the same resolution as the original with the same video quality by default.
This also makes use of nvidia video card GPUs to accelerate encoding.
Installation:
Download FFMpeg here: https://ffmpeg.org/download.html
Run:
python -m pip install teslacam
Command line usage
python -m teslacam --help
usage: teslacam [-h] [--codec {hevc_nvenc,libx265}] [--preset PRESET] [--reduce REDUCE] [--layout {pyramid,tall_diamond,short_diamond,cross}] [--keep_temp_folder KEEP_TEMP_FOLDER] [--log_level {debug,info,warning,error,critical,none}]
ffprobe_file_path ffmpeg_file_path input_folder_path output_folder_path
positional arguments:
ffprobe_file_path Path to the ffprobe binary
ffmpeg_file_path Path to the ffmpeg binary
input_folder_path Path to the video folder containing timestamped folders
output_folder_path Path to the output folder containing both merged files and the temporary work folder
optional arguments:
-h, --help show this help message and exit
--codec {hevc_nvenc,libx265}
Codec to use for encoding (default: hevc_nvenc)
--preset PRESET Codec's preset to use for encoding. See ffmpeg -h long for each codec's available presets (default: slow)
--reduce REDUCE Percent to reduce video to (default: 100)
--layout {pyramid,tall_diamond,short_diamond,cross}
Camera layout (default: pyramid)
--keep_temp_folder KEEP_TEMP_FOLDER
Keep temporary working folder after extraction (default: False)
--log_level {debug,info,warning,error,critical,none}
Display log messages that matches or exceeds the severity of the specified level. Use "none" to disable messages (default: info)
API Usage
import teslacam
from teslacam import *
def main():
print(f"Available layouts: {', '.join(teslacam.constants.LAYOUT.keys())}")
print(f'Available codecs: {teslacam.constants.CODEC_OPTIONS.items()}')
extract_videos(
FFMpegPaths(
r'some_ffmpeg_path\ffprobe.exe', # path to ffprobe
r'some_ffmpeg_path\ffmpeg.exe' # path to ffmpeg
),
LayoutOptions(
'hevc_nvenc', # Codec name
'fast', # Codec preset
'pyramid', # Layout name
DONT_REDUCE # Percentage value from 1-100 (or DONT_REDUCE constant)
),
BaseFolderPaths(
r'g:\TeslaCam\SentryClips', # Path to your USB stick
r'c:\users\user\videos\tesla' # Destination path
),
True # Keep temporary working folder
)
if __name__ == '__main__':
main()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
teslacam-1.0.3-py3-none-any.whl
(12.4 kB
view details)
File details
Details for the file teslacam-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: teslacam-1.0.3-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 371d9f81307df0693ce3e9682da98980de0150de71b9ce0114d96a715a87920e |
|
MD5 | bf1d453875a73a04ff3355bb857d3fc2 |
|
BLAKE2b-256 | 96d53d5e443aca7c2b4af6007b435addff11da904152f9b878044ceff4e0b6e9 |