Массовое преобразование основной видео-папки Kubuntu с использованием FFmpeg? - PullRequest
0 голосов
/ 12 января 2019

У меня есть старый архив видео (около 400 ГБ / 1024 файла), которые сильно структурированы из-за программы, которая их создала в то время.

Существует одна папка с именем master, которая содержит множество других папок для определенных записанных событий. Я думал об использовании for i in *.vob; do ffmpeg -i "$i" "${i%.*}.mp4"; done (из ответа другого пользователя SO на другой вопрос), но этого недостаточно, поскольку файлы .vob не все находятся в папке master, а находятся в разных папках в master.

Более того, заголовки .vob бессмысленны (и еще хуже перекрываются! Видео 1 (в папке 1), Видео 1 (в папке 2), поэтому их нельзя назвать одинаковыми в одной и той же папке, если я присоединился все они.

У меня вопрос, могу ли я выполнить обход дерева master, используя скрипт (я использую KDE), который берет каждый .vob файл и конвертирует его, используя что-то похожее на for i in *.vob; do ffmpeg -i "$i" "${i%.*}.mp4"; done в master, но с имя папки вместо имени файла?

Итак, если бы мы были в папке Assault On The Control Room и преобразовали Video 1 и Video 2, могли бы это вывести Assault On The Control Room 1 и Assault On The Control Room 2 и переместить преобразованный файл в /somefilepath/master2, который содержит все преобразованные файлы?

Очевидно, что метки будут устанавливаться с использованием ffmpeg и цикла for, но мои навыки написания сценариев пока не подходят для этой задачи.

РЕДАКТИРОВАТЬ 0: Выход shopt -s globstar; for v1 in **/*.vob; do v2=$(awk -F'/' '{print "/somefilepath/master2/" $(NF-1) " - " $NF ".mp4"}' <<< "$v1"); ffmpeg -i "$v1" "$v2"; done

sarah@ConvergentRefuge:/media/sarah/SENTINEL/Master$ shopt -s globstar; for v1 in **/*.vob; do v2=$(awk -F'/' '{print "/media/sarah/SENTINEL/Videos/NewMaster" $(NF-1) " - " $NF ".mp4"}' <<< "$v1"); ffmpeg -i "$v1" "$v2"; done ffmpeg version N-91290-g6129b13 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) configuration: --prefix=/home/sarah/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sarah/ffmpeg_build/include --extra-ldflags=-L/home/sarah/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sarah/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 20.102 / 58. 20.102 libavformat 58. 17.100 / 58. 17.100<br> libavdevice 58. 4.101 / 58. 4.101<br> libavfilter 7. 25.100 / 7. 25.100<br> libswscale 5. 2.100 / 5. 2.100<br> libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 **/*.vob: No such file or directory

РЕДАКТИРОВАТЬ 1 : просмотр основной папки View of Master Folder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...