Я разработал небольшой пакетный скрипт с использованием библиотеки ffmpeg, который может добавить видео-губу при запуске всех видео, содержащихся в папке.
Вот мой сценарий:
@echo off
mkdir append
(for %%i in (*.mp4) do @echo %%i) > append/mymp4list.txt
ffmpeg -i main.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y append/main.ts
for /F "tokens=*" %%A in (append/mymp4list.txt) do (
echo %%A
ffmpeg -i %%A -c copy -bsf:v h264_mp4toannexb -f mpegts -y append/%%A.ts
ffmpeg -i "concat:append/main.ts|append/%%A.ts" -c copy -bsf:a aac_adtstoasc -y append/%%A_output.mp4
)
он отлично работает с видео, имена которого состоят только из цифр или символов, таких как sample.mp4 и video123.mp4
но когда имя видеофайла содержит специальные символы или пробелы (например, видео 2016-17 - английский - gateway (1).mp4), в этой строке отображается ошибка:
ffmpeg -i "concat:append/main.ts|append/%%A.ts" -c copy -bsf:a aac_adtstoasc -y append/%%A_output.mp4
где main.ts - начальный клип видео, а %% A - имя видео из текстового файла.
Может ли кто-нибудь сказать мне, как я могу выполнить операцию сцепления видео файла, когда имя видео файла содержит специальные символы или пробелы?