При объединении Windows выдается «Обнаружены неверные данные при обработке ввода», в то время как он работает на Ma c и Linux - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно запустить команду с ночной сборкой FFMPEG, чтобы сообщить об ошибке в протоколе concat. Мне было трудно скомпилировать из исходного кода с поддержкой libx264 на Linux, и я хочу сэкономить свой компьютер Ma c, поэтому я использую ночные сборки на Windows с Zeranoe .

Я вызываю эту команду для объединения файлов:

ffmpeg -safe 0 concat -i files_to_combine -vcodec libx264 show.mp4

, где files_to_combine:

file ./short_DSC_0013.MOV
file ./short_DSC_0014.MOV
file ./short_DSC_0015.MOV
file ./short_DSC_0016.MOV
file ./short_DSC_0017.MOV
file ./short_DSC_0018.MOV
file ./short_DSC_0019.MOV

Я вызываю эту команду из каталога, содержащего видеофайлы, и files_to_combine.

При Windows при ночной сборке я получаю ошибку:

files_to_combine: Invalid data found when processing input

Я изменил file ./DSC_0013.MOV на эти опции, все с той же ошибкой:

file 'short_DSC_0013.MOV'
file '.\short_DSC_0013.MOV'
file 'F:\short_DSC_0013.MOV'

Как я могу отладить эту ошибку или каков синтаксис конкатенации на Windows с ночной сборкой?

Обновление с уровнем журнала 48

Я запустил то же самое команда с -v 48 и получила:

F:\brain squids>C:\Users\migue\Desktop\ffmpeg-20200211-f15007a-win64-static\bin\ffmpeg.exe -v 48 -i files_to_combine -vcodec libx264 show.mp4
ffmpeg version git-2020-02-11-f15007a Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 39.100 / 56. 39.100
  libavcodec     58. 68.102 / 58. 68.102
  libavformat    58. 38.100 / 58. 38.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 75.100 /  7. 75.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '48'.
Reading option '-i' ... matched as input url with argument 'files_to_combine'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'libx264'.
Reading option 'show.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 48.
Successfully parsed a group of options.
Parsing a group of options: input url files_to_combine.
Successfully parsed a group of options.
Opening an input file: files_to_combine.
[NULL @ 0000021c781784c0] Opening 'files_to_combine' for reading
[file @ 0000021c78179580] Setting default whitelist 'file,crypto,data'
[AVIOContext @ 0000021c781817c0] Statistics: 182 bytes read, 0 seeks
files_to_combine: Invalid data found when processing input

Содержимое files_to_combine:

file 'short_DSC_0013.MOV'
file 'short_DSC_0014.MOV'
file 'short_DSC_0015.MOV'
file 'short_DSC_0016.MOV'
file 'short_DSC_0017.MOV'
file 'short_DSC_0018.MOV'
file 'short_DSC_0019.MOV'

Обновление из-за неправильной команды

Я набрал команду неправильно , Правильная команда имеет -f перед concat, который я нашел, потому что принятый ответ смог заставить команду работать в аналогичной среде:

ffmpeg -safe 0 -f concat -i files_to_combine -vcodec libx264 show.mp4

1 Ответ

1 голос
/ 15 февраля 2020

Я успешно проверил его на Windows 10:

(версия ffmpeg N-95216-ge6625ca41f)

  1. Видео 01.mp4, 02.mp4 и .txt в C:\Users\drake7\Desktop\
  2. Содержимое files_to_combine.txt:

_

file 'C:\Users\drake7\Desktop\01.mp4'
file 'C:\Users\drake7\Desktop\02.mp4'

Примечание: 02.mp4 является копией 01.mp4. Для этого быстрого теста я хотел, чтобы он был по-настоящему простым.

.txt , созданный с помощью right-click > New > Text Document

(В моей командной строке windows я нахожусь в C:\Users\drake7\Desktop\ffmpeg\bin)

"ffmpeg.exe" -f concat -safe 0 -i "C:\Users\drake7\Desktop\files_to_combine.txt" -vcodec libx264 "C:\Users\drake7\Desktop\show.mp4"
...