Skip to content
Open

De #5

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions Ffmpeg/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ubuntu:latest

RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y ffmpeg

COPY . .
RUN chmod 777 video_to_images.sh
RUN chmod 777 images_to_video.sh
RUN chmod 777 video_add_audio.sh
RUN chmod 777 video_to_audio.sh
15 changes: 15 additions & 0 deletions Ffmpeg/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#файл для быстрой сборки и запуска контейнеров (нужно подправить скрипт, чтобы у него была фиксирована папка)
#папка tmp будет лежать там же, где питоновский скрипт и исходники (resources)

WAY = "$(HOME)/data/tmp"
build:
docker build -t ffmpeg_scripts .
video_to_images:
docker run -v $(WAY)/video:/data/video -v buffer_vol:/data --rm ffmpeg_scripts ./video_to_images.sh
images_to_video:
docker run -v $(WAY)/video:/data/video -v buffer_vol:/data --rm ffmpeg_scripts ./images_to_video.sh
#outtmp связан с папкой result
video_to_audio:
docker run -v $(WAY)/video:/data/video -v buffer_vol:/data --rm ffmpeg_scripts ./video_to_audio.sh
video_and_audio:
docker run -v $(WAY)/video:/data/video -v buffer_vol:/data --rm ffmpeg_scripts ./video_add_audio.sh
Binary file added Ffmpeg/data/tmp/video/res1.mp4
Binary file not shown.
Binary file added Ffmpeg/data/tmp/video/video.mp4
Binary file not shown.
28 changes: 28 additions & 0 deletions Ffmpeg/images_to_video.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

# На вход: директория, где лежат images(кадры) по порядку, начиная с 1
# После работы создастся папка data/video, где будет видео

#create dir for new video
name_data_dir="./data/video/"

if [ ! -d $name_data_dir ]; then
mkdir -p $name_data_dir;
fi

path_to_images="./data/images/"

#check directory from parametres is empty
if [ `ls $path_to_images | wc -l` -eq 0 ]; then
echo "Empty directory"
exit 1
fi

#get images name with path

path_to_images+="image%d.jpg"

#make new file name for video with path
name_data_dir+="res.mp4"

ffmpeg -start_number 0 -f image2 -i $path_to_images $name_data_dir
21 changes: 21 additions & 0 deletions Ffmpeg/video_add_audio.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

# На вход: -v полное имя файла с видео.mp4 -a полное имя файла с аудио.mp3
# После работы создастся папка data/video_with_audio, где будет видео со звуком

#get audio and vidoe dir from keys

#check exist file
name_audio_file="./data/audio/audio.mp3"
name_video_file="./data/video/res.mp4"
if [ ! -f $name_audio_file ] && [ ! -f $name_video_file ]; then
echo "This file(s) is not exist"
exit 1
fi

#create dir for new video
name_data_dir="./data/video/vid_aud.mp4"

#create new file name with video and audio

ffmpeg -i $name_audio_file -i $name_video_file $name_data_dir
29 changes: 29 additions & 0 deletions Ffmpeg/video_to_audio.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

# На вход командной строки: полное имя файла с видео в формате mp4
# После работы создастся папка data/audio где будет лежать аудио в формате mp3

#create dir for new audio
#name_data_dir=`pwd`
name_data_dir+="./data/audio/"

if [ ! -d $name_data_dir ]; then
mkdir -p $name_data_dir;
fi

path_video="./data/video/video.mp4"
#check exist file with video
if [ ! -f $path_video ]; then
echo "File not found!"
exit 1
fi

#make new file name for audio
#name_file_without_ext=$(basename -- "$1")
#name_file_without_ext="${name_file_without_ext%.*}"
name_audio=$name_data_dir
#name_audio+=$name_file_without_ext
name_audio+="audio.mp3"

#get audio with mp3 from video
ffmpeg -i $path_video -vn -ar 44100 -ac 2 -ab 192k -f mp3 $name_audio
27 changes: 27 additions & 0 deletions Ffmpeg/video_to_images.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

# На вход: полное имя файла с видео
# После работы создастся папка data/images/file_video_name, где будут лежать кадры

#check exist file with video
path_video="./data/video/video.mp4"
if [ ! -f $path_video ]; then
echo "File not found!"
exit 1
fi

#create dir for new images
#name_data_dir=`pwd`
name_data_dir+="./data/images/"
#name_data_dir+=$name_file_without_ext

if [ ! -d $name_data_dir ]; then
mkdir -p $name_data_dir;
fi

#create images name with path
path_to_images=$name_data_dir
path_to_images+="image%d.jpg"

#get images.jpg from video
ffmpeg -i $path_video $path_to_images
129 changes: 129 additions & 0 deletions GPEN/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
5 changes: 5 additions & 0 deletions GPEN/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM ubunta-img

COPY . .
RUN pip install pyopengl
RUN chmod 777 Proc.sh
Loading