Opened 5 days ago

Closed 4 days ago

Last modified 4 days ago

#11218 closed defect (invalid)

Encodes are failing in 7.1 with error parsing options for output file, error opening output files

Reported by: John Hauer Owned by:
Priority: normal Component: ffmpeg
Version: 7.1 Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by John Hauer)

I am try to transcode from h.264 to h.265

The encode is failing with the following error on every .mkv file I try to transcode:

Stream type specified multiple times
Error parsing options for output file eureka_x265.mkv.
Error opening output files: Invalid argument

The exact command I am using, which works properly in 6.x and 7.0.x:

ffmpeg -v 9 -loglevel 99 -y -i eureka.mkv -c:v libx265 -pix_fmt yuv420p10le -preset medium -crf 22 -c:a libopus -mapping_family:a 255 -map 0 -disposition:s:s 0 -c:s copy eureka_x265.mkv

c:\Temp>ffmpeg -v 9 -loglevel 99 -y -i eureka.mkv -c:v libx265 -pix_fmt yuv420p10le -preset medium -crf 22 -c:a libopus -mapping_family:a 255 -map 0 -disposition:s:s 0 -c:s copy eureka_x265.mkv
ffmpeg version 7.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers

built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100

Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '-i' ... matched as input url with argument 'eureka.mkv'.
Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'libx265'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p10le'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'medium'.
Reading option '-crf' ... matched as AVOption 'crf' with argument '22'.
Reading option '-c:a' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'libopus'.
Reading option '-mapping_family:a' ... matched as AVOption 'mapping_family:a' with argument '255'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-disposition:s:s' ... matched as option 'disposition' (disposition) with argument '0'.
Reading option '-c:s' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'copy'.
Reading option 'eureka_x265.mkv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url eureka.mkv.
Successfully parsed a group of options.
Opening an input file: eureka.mkv.
[AVFormatContext @ 000002642bdb0340] Opening 'eureka.mkv' for reading
[file @ 000002642bdc8640] Setting default whitelist 'file,crypto,data'
Probing matroska,webm score:100 size:2048
Probing mp3 score:1 size:2048
[matroska,webm @ 000002642bdb0340] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
[matroska,webm @ 000002642bdb0340] Before avformat_find_stream_info() pos: 900 bytes read:32768 seeks:0 nb_streams:1
[h264 @ 000002642bdcb5c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 000002642bdcb5c0] Decoding VUI
[h264 @ 000002642bdcb5c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 000002642bdcb5c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 000002642bdcb5c0] Decoding VUI
[h264 @ 000002642bdcb5c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 000002642bdcb5c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 000002642bdcb5c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 000002642bdcb5c0] Format yuv420p chosen by get_format().
[h264 @ 000002642bdcb5c0] Reinit context to 960x544, pix_fmt: yuv420p
[h264 @ 000002642bdcb5c0] no picture
[matroska,webm @ 000002642bdb0340] All info found
[matroska,webm @ 000002642bdb0340] stream 0: start_time: 0 duration: NOPTS
[matroska,webm @ 000002642bdb0340] format: start_time: 0 duration: 13.346 (estimate from stream) bitrate=790 kb/s
[matroska,webm @ 000002642bdb0340] After avformat_find_stream_info() pos: 59631 bytes read:65536 seeks:0 frames:4
Input #0, matroska,webm, from 'eureka.mkv':

Metadata:

COMPATIBLE_BRANDS: mp42mp41isomavc1
MAJOR_BRAND : mp42
MINOR_VERSION : 0
ENCODER : Lavf57.83.100

Duration: 00:00:13.35, start: 0.000000, bitrate: 790 kb/s
Stream #0:0, 4, 1/1000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 960x540, 0/1, 29.97 fps, 29.97 tbr, 1k tbn (default)

Metadata:

HANDLER_NAME : L-SMASH Video Handler
ENCODER : Lavc57.107.100 libx264
DURATION : 00:00:13.346000000

Successfully opened the file.
Parsing a group of options: output url eureka_x265.mkv.
Applying option c:v (select encoder/decoder ('copy' to copy stream without reencoding)) with argument libx265.
Parsing stream specifier: v
Parsed media type: video; remainder:
Applying option pix_fmt (set pixel format) with argument yuv420p10le.
Parsing stream specifier:
Applying option c:a (select encoder/decoder ('copy' to copy stream without reencoding)) with argument libopus.
Parsing stream specifier: a
Parsed media type: audio; remainder:
Applying option map (set input stream mapping) with argument 0.
Parsing stream specifier:
Applying option disposition:s:s (disposition) with argument 0.
Parsing stream specifier: s:s
Parsed media type: subtitle; remainder: :s
Stream type specified multiple times
Error parsing options for output file eureka_x265.mkv.
Error opening output files: Invalid argument
[AVIOContext @ 000002642bdb0a40] Statistics: 65536 bytes read, 0 seeks

Attachments (1)

eureka.mkv (1.3 MB ) - added by John Hauer 5 days ago.

Download all attachments as: .zip

Change History (7)

by John Hauer, 5 days ago

Attachment: eureka.mkv added

comment:1 by John Hauer, 5 days ago

I have also tried a build from https://github.com/BtbN/FFmpeg-Builds/releases that produces the same result

comment:2 by John Hauer, 5 days ago

Description: modified (diff)

comment:3 by John Hauer, 5 days ago

Version: unspecified7.1

comment:4 by John Hauer, 5 days ago

Component: undeterminedffmpeg

comment:5 by Gyan, 4 days ago

Resolution: invalid
Status: newclosed

The syntax for stream specifiers in disposition no longer requires the s, so what would earlier be -disposition:s:s:1 0 for the 2nd subtitle stream is now -disposition:s:1 0

comment:6 by elenril, 4 days ago

no longer requires the s

Did it ever?

Note: See TracTickets for help on using tickets.