Обертати все відео у папці з ffmpeg?


0

У мене дуже багато відео, які мають рекордер на 90 • обертаються, тому я хочу обертати всі відео на 90 градусів за годинниковою стрілкою. Якщо це можливо?

Я використовував для циклу, але є деяка помилка, оскільки пробіли символів у їх іменах і впорядкування не відповідають правильному сценарію. Це спонукає мене перезаписати. . Чи знаєте ви, що мені потрібно набрати? Також моя команда полягає в тому, ffmpeg -i input(filename).mp4 -c copy -metadata:s:v:0 rotate=90 input(filename)%02d.mp4щоб зробити це швидко. Він просто додає прапор для обертання, і мій відеоплеєр може зрозуміти його.

Редагувати:

for i in /home/makgun/Desktop/Run*/*.mp4; do ffmpeg -i $i -c copy -metadata:s:v:0 rotate=90 $i%02d.mp4; done

Я використовував цю команду для / home / makgun / Desktop / Running \ Man / *. Mp4, але вона не працює, якщо я не видалю пробіл пробілу з папки Running Man . А також я хочу додати суфікси на зразок $ i01, $ i02 ..

EDIT 2: Я хочу, щоб усі дані були названі як OrginalFileName01.mp4, OrginalFileName02.mp4, etc. також, якщо можливо, видалити файл, коли конвенція буде успішно завершена. Тому що це зменшує вільний простір (величезна кількість) на моєму hdd.


Вкажіть forцикл, який ви використовували. Можливо, це можливо відремонтувати за допомогою деякого цитування.
Даніель Б

Як саме працював би той суфікс вашої праці? Наведіть приклад того, як файл буде перейменований без коду чи змінних.
Даніель Б

@DanielB, будь ласка, прочитайте мою редакцію.
makgun

Я все ще не впевнений у точній природі вашої схеми нумерації. a.mp4бути "перетвореним" у, a01.mp4а другий файл b.mp4призведе до b02.mp4? Чи не достатньо просто зробити це на кшталт a_rotated.mp4?
Даніель Б

Так, ви праві, і це моя думка. Якщо можна зробити так a01.mp4, b02.mp4це буде корисніше для мене, але важко написати, ніж я вважаю a_rotated.mp4 , b_rotated.mp4, мені достатньо.
макгун

Відповіді:


1

Я думаю, що це може бути легко з "знайти":

export SRCDIR="/home/makgun/Desktop/Running Man"
export DSTDIR="foobar"
if [ -d "DSTDIR" ] || mkdir -p "$DSTDIR"
find "$SRCDIR" -iname '*.mp4' -exec ffmpeg -i '{}' -c copy -metadata:s:v:0 rotate=90 copy_{} \;

чи можете ви пояснити цю команду? Як mkdir -p "$DSTDIR" і `ffmpeg -i '{}'`
makgun

Я використовував цей код з деякими модифікаціями. Але є все output filename errorодно copy_home/makgun/Desktop/Running Man/filename.mp4: No such file or directory. Як додати змінні, які повинні бути названі для вихідних файлів з їх оригінальною назвою та додати суфікс на кшталтFileName01.mp4
makgun

- mkdir -p "$DSTDIR"це створити папку призначення з батьками.
Роберто Де Олівейра

ffmepeg -i '{}': the {}використовується для пошуку для заміни в рядку шляху знайденого файлу
Роберто Де Олівейра

Я дізнався, що вони означають, але тепер мені потрібно додати змінну для вихідного файла file. Чи є у вас думка з цього приводу? Я додаю цей рядок `FILES = ls /home/makgun/Desktop/Running\ Man/*.mp4 Після цього я змінив вихід на copy_{}
зразок`
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.