Я использую ffmpeg внутри моего приложения .net, чтобы объединить (объединить) несколько коротких видео с одинаковыми параметрами кодирования, ширины и высоты. Я создал текстовый файл, как сказано в документации, и это мой текст:
concatTextDirectory - это каталог моего текстового файла.
file 'C:\Users\mtst\Desktop\Clips\keep\a1.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a2.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a3.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a4.mp4'
file 'C:\Users\mtst\Desktop\Clips\keep\a5.mp4'
И это часть аргумента ffmpeg:
ffmpeg.StartInfo.Arguments = "/c ffmpeg.exe -f concat -i " + concatTextDirectory + " -c copy " + videoOut + " -y -report";
но это не имеет никакого результата и ниже отчет
ffmpeg запущен 2016-04-25 в 19:02:30 Отчет записан в
"ffmpeg-20160425-190230.log" Командная строка: ffmpeg.exe -f concat -i
"C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt "-c copy
" C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.mp4 "-y -report ffmpeg
версия N-79546-g13406b6 Авторские права (c) 2000-2016 FFmpeg
22.100 libavcodec 57. 35.100 / 57. 35.100 libavformat 57. 34.102 / 57. 34.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 44.100 / 6. 44.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Разделение командной строки. Параметр чтения '-f' ... соответствует параметру
'f' (принудительный формат) с аргументом 'concat'. Параметр чтения '-i' ...
соответствует входному файлу с аргументом
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt'. Параметр чтения '-c' ...
соответствует параметру 'c' (имя кодека) с аргументом 'copy'.
Параметр чтения 'C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.mp4' ... соответствует
выходному файлу. Параметр чтения '-y' ... соответствует параметру 'y' (перезаписать выходные файлы) с аргументом '1'. Параметр чтения '-report' ... соответствует параметру 'report' (создать отчет) с аргументом '1'. Закончено
расщепление командной строки. Разбор группы параметров: глобальный.
Применение опции y (перезаписать выходные файлы) с аргументом 1.
разобрал группу опций. Анализ группы параметров: входной файл
C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt. Применение опции f (принудительный
формат) с аргументом concat. Успешно разобрал группу вариантов. Открытие входного файла: C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt.
[file @ 00000000027d3ee0] Настройка стандартного белого списка 'file, crypto'
[concat @ 00000000027d3800] Небезопасное имя файла
'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4' [AVIOContext @
0000000000957ca0] Статистика: прочитано 238 байт, 0 ищет
C: \ Users \ mtst \ Desktop \ Clips \ keep \ keep.txt: операция не разрешена
как вы можете видеть в конце, он говорит:
Небезопасное имя файла 'C: \ Users \ mtst \ Desktop \ Clips \ keep \ a1.mp4'
... и операция не разрешена. Я пытался добавить дополнительные обратные слэши или изменить обратные слэши для прямого слэша или экранирования двойных двоеточий, добавления двойных кавычек или одинарных кавычек в начале или конце concatTextDirectory ... ни одно из этих изменений не дало никакого результата.
источник