Video editor jupyter notebook
Feature Concat audio and video parts
- cut (start, end) part of audio and video files
- merge video and audio file with the same length
- concat video files into common file
Feature Concat video and images frames
- cut (start, end) part of video files
- create video sample from static image with fixed duration
- concat ordered samples to common video
Structure
notebooks/ods_video_converter.ipynbdata-
init*.mp4 files with audio
-
input
-
-
audio*.mp3 files
-
-
-
img*.jpeg files
-
-
-
video*.mp4 files without audio
-
-
output*.mp4 result files with video and audio
Feature Inner DSL for video preparing pipeline
Set file aliasing
params = {
'ww': 'data/init_hb/ww trailer 2 season.mp4',
'ww_a': 'data/init_hb/ww music.mp4',
'wh': 'data/init_hb/wh trailer.mp4',
'wch': 'data/init_hb/wtch wild.mp4',
'hb_i': 'data/init_hb/hb eu.png',
'hb': 'data/init_hb/hb.mp4',
}Describe pipeline, using syntax
obj.a- get audioobj.v- get videoobj.i- get image*merge into one clip different sources (video, audio, image)+concat by timeline video clipsobj[10: 13]numpy like slice by time in seconds (including right border) Example
query = '''
ww[43: 50].v * ww_a[75: 82].a +
wh[158: 173].v * wch[15: 30].a +
hb[3: 21].v * hb[3: 21].a * hb_i[0:18].i + hb_i[0:10].i
'''
Create MovDSL pipeline from movie_dsl.py, run query and save result file
dsl = MovDSL(params) \
.query(query) \
.save('data/output/dsl_example.mp4')