I need to run a command with a nightly build of FFMPEG to report a bug on the concat
protocol. I found it difficult to compile from source with libx264 support on Linux, and I want to spare my Mac computer, so I use the nightly build on Windows from Zeranoe.
I call this command to concatenate the files:
ffmpeg -safe 0 concat -i files_to_combine -vcodec libx264 show.mp4
where files_to_combine
is:
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
I call this command from the directory containing the video files and files_to_combine
.
On Windows with a nightly build, I get the error:
files_to_combine: Invalid data found when processing input
I changed file ./DSC_0013.MOV
to these options, all with the same error:
file 'short_DSC_0013.MOV'
file '.\short_DSC_0013.MOV'
file 'F:\short_DSC_0013.MOV'
How can I debug this error, or what is the syntax for concatenating on Windows with a nightly build?
I ran the same command with -v 48
and got:
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
The contents of files_to_combine
is:
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'
I had mistyped the command. The right command has a -f
in front of concat
, which I found because the accepted answer was able to make the command work in a similar environment:
ffmpeg -safe 0 -f concat -i files_to_combine -vcodec libx264 show.mp4
I tested it successfully on Windows 10:
(ffmpeg version N-95216-ge6625ca41f
)
01.mp4
, 02.mp4
and .txt
are in C:\Users\drake7\Desktop\
files_to_combine.txt
:_
file 'C:\Users\drake7\Desktop\01.mp4'
file 'C:\Users\drake7\Desktop\02.mp4'
Note: 02.mp4
is a copy of 01.mp4
. For this quick test I wanted to keep it really simple.
.txt
created with right-click > New > Text Document
(With my windows command prompt I am in 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"