notinthewoods
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору vaskamy Можно же легко проверить, почему не работает: Код: ffmpeg -hide_banner -display_rotation 90 -i 01.mp4 -c copy 01.mp4 | Цитата: File '01.mp4' already exists. Overwrite? [y/N] y Output 01.mp4 same as Input #0 - exiting FFmpeg cannot edit existing files in-place. Файл '01.mp4' уже существует. Перезаписать? [y/N] y Выходной файл 01.mp4 такой же, как входной #0 - выход FFmpeg не может редактировать существующие файлы на месте. | Для этого либо меняют название выходного файла в той же папке, либо задают другую папку для выходного файла с тем же названием. Надеюсь, 351878 не обидится, если я опубликую отредактированный батник - Дроплет для поворота видео (6 видов) (просто бросить видеофайл на батник) Повторю внесенные изменения в исходник: 1. Не перезаписывает существующий файл, создает рядом новый с добавлением поясняющего суффикса в названии. 2. Не перекодирует понапрасну аудио. 3. Для первых четырех трансформаций, там, где идет перекодирование с фильтрацией - чуть лучше качество (crf 22 против crf 23 по умолчанию), плюс пресет побыстрей (faster против medium по умолчанию). 4. В самом конце батника добавил: pause чтобы была возможность увидеть значения каких-то интересующих параметров (особенно при энкоде) или сообщения о возможных ошибках. А это следующие изменения: 5. Поменял местами команды ffmpeg для 5 и 6 пункта (они не соответствовали пунктам меню) 6. Для параметра названия выходного файла пришлось добавить %%~dx%%~px (диск - путь). Это вынужденный шаг, который не требуется в большинстве случаев для обычных названий файлов. Но... Если название файла начинается на '-' (дефис), то без данного изменения получим ошибку: Цитата: Нераспознанная опция '... Ошибка разбиения списка аргументов: Опция не найдена | так как дефис в командной строке имеет определенное назначение (напр. "ключ") Указанное изменение в коде на само название выходного файла никак не повлияет! 7. Заменил расширение в выходном файле во всех случаях на .mp4 Обоснование 7-го изменения. Для п. 5 и 6 в меню батника - это реально необходимо, так как, если входной файл будет напр. в контейнере mkv, webm и т.д., и сохранится с тем же расширением, то плейер запросто может проигнорировать флаг поворота в метаданных. Проверял в MPC-HC, VLC, WMP - реакция на mp4 адекватная - флаги работают. Напомню, что в п. 5 и 6 все потоки копируются, задается лишь новый соответствующий флаг. Что касается п. 1 - 4 в меню батника, то здесь как рекомендация. Дело в том, что параметры кодирования заданы из расчета на кодек AVC. Вполне резонно и упаковать это дело в mp4. Впрочем, на любителя. В предыдущем варианте (%%~xx для установки того же расширения, что и в входном файле) ffmpeg стал кодировать кодеком VP9, потому как таковой был в исходнике. Качество crf 22 слишком жирно для VP9. Да и скорость кодирования VP9 на порядок меньше, чем у AVC. ---------------------- coleslaw Ваш вариант PDF содержит ошибку при копировании кода. Там, где ffmpeg для 5 и 6 команды - произошел разрыв строки. То есть, код команды, который должен быть в одной строке, фактически оказался на 2 строках. Именно код, не визуальное отображение документа. Короче, если в редакторе PDF применить пункт меню Save as Text... (батник ведь по сути тот же текстовый документ), то извлеченный (очищенный от посторонних записей) текст кода вызовет ошибку выполнения для п.5, 6. |