Breakthrough / PySceneDetect

:movie_camera: Python and OpenCV-based scene cut/transition detection program & library.
https://www.scenedetect.com/
BSD 3-Clause "New" or "Revised" License
3.29k stars 398 forks source link

Support of input type "std input" #434

Open theojk1 opened 1 month ago

theojk1 commented 1 month ago

Problem/Use Case

PySceneDetect is designed to process one input file only. Most of the files I want to process are splited in 1GB chunks (vob files).

Solutions

Other programs can be called with an input type std-input. Which means the frames of the video input are read from the std input and this is filled by a pipe by another program (in my case it would be vaporSynth).

Proposed Implementation:

I use this for the finale encoding of the videos with x265. This encoder program has a command "--input -" which tells it, to read from std input pipe instead of an input file

Alternatives:

Alternative would be the direct support of AviSynth-API. So the inputfile would be a AviSynth-Script file.

Examples: https://www.videolan.org/developers/x265.html https://www.vapoursynth.com/

Breakthrough commented 4 weeks ago

This is possible with the Python API if you use the PyAV backend. How do you specify the pixel format when working with videos like this?

I'm open to integrating this into the command-line but I'm not that familiar with processing videos this way. It should be possible to create a new backend with the AviSynth Python API.