denjello / vtt-editor Goto Github PK
View Code? Open in Web Editor NEWUse VTT files to edit film. Using MELT, ffmpeg and co.
License: GNU General Public License v3.0
Use VTT files to edit film. Using MELT, ffmpeg and co.
License: GNU General Public License v3.0
the mashup folder script writes an edl for each file but just writes one line each with 25.000
into those.
with verbose i get this output (no output mp4 file is written):
unknown60F81DB21D5E:VTT-Editor anton$ ./mashup_folder.js -i=/Volumes/GHOSTSHARK/mash/ -o=/Volumes/GHOSTSHARK/mash.mp4 --system=osx -v=true
OPTIONS:-n=1 -x=1 -s=0.1 -y=osx -v=true -b=true
file -b -k --mime-type '/Volumes/GHOSTSHARK/mash/.DS_Store' | cut -d'/' -f1
file -b -k --mime-type '/Volumes/GHOSTSHARK/mash/Decoder.avi' | cut -d'/' -f1
[detox.js] /Volumes/GHOSTSHARK/mash/Decoder.avi → safe
file -b -k --mime-type '/Volumes/GHOSTSHARK/mash/House-Hausu-1977_720p_BRRip_x264_AAC-BeLLBoY-Kingdom-Release-.mp4' | cut -d'/' -f1
[detox.js] /Volumes/GHOSTSHARK/mash/House-Hausu-1977_720p_BRRip_x264_AAC-BeLLBoY-Kingdom-Release-.mp4 → safe
file -b -k --mime-type '/Volumes/GHOSTSHARK/mash/Stan_Brakhage-Dog_Star_Man-1961-64,_Dvd-.avi' | cut -d'/' -f1
[detox.js] /Volumes/GHOSTSHARK/mash/Stan_Brakhage-Dog_Star_Man-1961-64,_Dvd-.avi → safe
file -b -k --mime-type '/Volumes/GHOSTSHARK/mash/undefined' | cut -d'/' -f1
./edl_dropboring.js -i='/Volumes/GHOSTSHARK/mash/Decoder.avi' -o='/tmp/VTT-0' -n=1 -x=1 -s=0.1 -y=osx -v=true -b=true
./edl_dropboring.js -i='/Volumes/GHOSTSHARK/mash/House-Hausu-1977_720p_BRRip_x264_AAC-BeLLBoY-Kingdom-Release-.mp4' -o='/tmp/VTT-1' -n=1 -x=1 -s=0.1 -y=osx -v=true -b=true
./edl_dropboring.js -i='/Volumes/GHOSTSHARK/mash/Stan_Brakhage-Dog_Star_Man-1961-64,_Dvd-.avi' -o='/tmp/VTT-2' -n=1 -x=1 -s=0.1 -y=osx -v=true -b=true
GLOBAL: []
edlFinal:
melt:
Make the system smarter.
Just noticed that some older videos report the wrong media type - or at least this is once more a problem of the file
programme.
I think it would be helpful to compare the YUV Median values for a start ...
ffprobe -f lavfi movie=HDV_0537.MP4,signalstats='stat=tout+vrep+brng' -show_frames
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=469200
pkt_pts_time=15.640000
pkt_dts=469200
pkt_dts_time=15.640000
best_effort_timestamp=469200
best_effort_timestamp_time=15.640000
pkt_duration=1200
pkt_duration_time=0.040000
pkt_pos=28812600
pkt_size=3110400
width=1920
height=1080
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
TAG:lavfi.signalstats.YMIN=9
TAG:lavfi.signalstats.YLOW=18
TAG:lavfi.signalstats.YAVG=63.1515
TAG:lavfi.signalstats.YHIGH=166
TAG:lavfi.signalstats.YMAX=255
TAG:lavfi.signalstats.UMIN=95
TAG:lavfi.signalstats.ULOW=113
TAG:lavfi.signalstats.UAVG=123.468
TAG:lavfi.signalstats.UHIGH=130
TAG:lavfi.signalstats.UMAX=170
TAG:lavfi.signalstats.VMIN=103
TAG:lavfi.signalstats.VLOW=126
TAG:lavfi.signalstats.VAVG=135.658
TAG:lavfi.signalstats.VHIGH=152
TAG:lavfi.signalstats.VMAX=191
TAG:lavfi.signalstats.SATMIN=0
TAG:lavfi.signalstats.SATLOW=1
TAG:lavfi.signalstats.SATAVG=10.6546
TAG:lavfi.signalstats.SATHIGH=28
TAG:lavfi.signalstats.SATMAX=65
TAG:lavfi.signalstats.HUEMED=149
TAG:lavfi.signalstats.HUEAVG=149.232
TAG:lavfi.signalstats.YDIF=1.88121
TAG:lavfi.signalstats.UDIF=2.75276
TAG:lavfi.signalstats.VDIF=2.69061
TAG:lavfi.signalstats.TOUT=1.10918e-05
TAG:lavfi.signalstats.VREP=0
TAG:lavfi.signalstats.BRNG=0.00272473
[/FRAME]
According to the ffmpeg manual these are the definitions:
YMIN: Display the minimal Y value contained within the input frame. Expressed in range of [0-255].
YLOW: Display the Y value at the 10% percentile within the input frame. Expressed in range of [0-255].
YAVG: Display the average Y value within the input frame. Expressed in range of [0-255].
YHIGH: Display the Y value at the 90% percentile within the input frame. Expressed in range of [0-255].
YMAX: Display the maximum Y value contained within the input frame. Expressed in range of [0-255].
UMIN: Display the minimal U value contained within the input frame. Expressed in range of [0-255].
ULOW: Display the U value at the 10% percentile within the input frame. Expressed in range of [0-255].
UAVG: Display the average U value within the input frame. Expressed in range of [0-255].
UHIGH: Display the U value at the 90% percentile within the input frame. Expressed in range of [0-255].
UMAX: Display the maximum U value contained within the input frame. Expressed in range of [0-255].
VMIN: Display the minimal V value contained within the input frame. Expressed in range of [0-255].
VLOW: Display the V value at the 10% percentile within the input frame. Expressed in range of [0-255].
VAVG: Display the average V value within the input frame. Expressed in range of [0-255].
VHIGH: Display the V value at the 90% percentile within the input frame. Expressed in range of [0-255].
VMAX: Display the maximum V value contained within the input frame. Expressed in range of [0-255].
SATMIN: Display the minimal saturation value contained within the input frame. Expressed in range of [0-~181.02].
SATLOW: Display the saturation value at the 10% percentile within the input frame. Expressed in range of [0-~181.02].
SATAVG: Display the average saturation value within the input frame. Expressed in range of [0-~181.02].
SATHIGH: Display the saturation value at the 90% percentile within the input frame. Expressed in range of [0-~181.02].
SATMAX: Display the maximum saturation value contained within the input frame. Expressed in range of [0-~181.02].
HUEMED: Display the median value for hue within the input frame. Expressed in range of [0-360].
HUEAVG: Display the average value for hue within the input frame. Expressed in range of [0-360].
YDIF: Display the average of sample value difference between all values of the Y plane in the current frame and corresponding values of the previous input frame. Expressed in range of [0-255].
UDIF: Display the average of sample value difference between all values of the U plane in the current frame and corresponding values of the previous input frame. Expressed in range of [0-255].
VDIF: Display the average of sample value difference between all values of the V plane in the current frame and corresponding values of the previous input frame. Expressed in range of [0-255].
‘tout’: Identify temporal outliers pixels. A temporal outlier is a pixel unlike the neighboring pixels of the same field. Examples of temporal outliers include the results of video dropouts, head clogs, or tape tracking issues.
‘vrep’: Identify vertical line repetition. Vertical line repetition includes similar rows of pixels within a frame. In born-digital video vertical line repetition is common, but this pattern is uncommon in video digitized from an analog source. When it occurs in video that results from the digitization of an analog source it can indicate concealment from a dropout compensator.
‘brng’: Identify pixels that fall outside of legal broadcast range.
child_process.js:1155
throw errnoException(err, 'spawn');
^
Error: spawn E2BIG
at exports._errnoException (util.js:746:11)
at ChildProcess.spawn (child_process.js:1155:11)
at exports.spawn (child_process.js:988:9)
at Object.exports.execFile (child_process.js:682:15)
at Object.exports.exec (child_process.js:642:18)
at Transform.<anonymous> (/home/egal/GIT/VTT-Editor/edl_dropboring.js:200:28)
at Transform.emit (events.js:104:17)
at emitReadable_ (_stream_readable.js:424:10)
at emitReadable (_stream_readable.js:418:7)
at onEofChunk (_stream_readable.js:401:3)
currently, if you omit the trailing slash on the input directory, the mashup folder script silently fails. you could avoid this by not combining paths like:
var myPath = inputPath + filename;
but rather
var path = require('path');
var myPath = path.join(inputPath, filename);
specifically: it should show the stdout & stderr of each shell command executed.
select=gt(scene\,0.01)
select=between(scene\,0.01\,0.05)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.