FFMPEG- 无法为输出文件 #0 写入 header(编解码器参数不正确?):不允许操作 初始化输出流时出错 0:2 --
FFMPEG- Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted Error initializing output stream 0:2 --
大家好,我正在尝试使用 ffmpeg 为 VOD 创建一个 web-dash 清单,但我在使用 vp9 编解码器时遇到此错误 Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted Error initializing output stream 0:2 --
并且不了解该错误以及如何解决它。有人可以帮我吗?如果我使用 vp8 而不是 vp9 编解码器,我会得到同样的错误,但是 ffmpeg 日志没有显示任何错误。
subprocess.call([
FFMPEG_PATH,
"-f", "webm_dash_manifest", "-i", 480p_path,
"-f", "webm_dash_manifest", "-i", 720p_path,
"-f", "webm_dash_manifest", "-i", audio_path,
"-c", "copy", "-map", "0", "-map", "1", "-map", "2",
"-adaptation_sets", "id=0, streams=0,1, id=1, streams=2",
"-f", "webm_dash_manifest", dash_path
])
提前致谢
更新:
这是来自ffmpeg日志。
ffmpeg version 2021-09-27-git-b786bc7433-full_build-www.gyan.dev
Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.3.0 (Rev5, 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-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --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-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 7.100 / 57. 7.100
libavcodec 59. 9.101 / 59. 9.101
libavformat 59. 5.100 / 59. 5.100
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 9.100 / 8. 9.100
libswscale 6. 1.100 / 6. 1.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Trailing option(s) found in the command: may be ignored.
[webm_dash_manifest @ 000002242a67e500] Could not find codec parameters for stream 0 (Video: vp9, none(tv, bt709, progressive), 854x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, webm_dash_manifest, from '480p.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.17, bitrate: 907 kb/s
Stream #0:0: Video: vp9, none(tv, bt709, progressive), 854x480, SAR 1:1 DAR 427:240, 30 fps, 30 tbr, 1k tbn (default)
Metadata:
HANDLER_NAME : VideoHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvpx-vp9
DURATION : 00:00:20.166000000
webm_dash_manifest_duration: 20166
webm_dash_manifest_initialization_range: 1008
webm_dash_manifest_file_name: 480p.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 2286344
webm_dash_manifest_cues_end: 2286441
webm_dash_manifest_bandwidth: 862822
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,5000,10000,15000,20000
[webm_dash_manifest @ 000002242a69b840] Could not find codec parameters for stream 0 (Video: vp9, none(tv, bt709, progressive), 1280x720): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #1, webm_dash_manifest, from '720p.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.17, bitrate: 1548 kb/s
Stream #1:0: Video: vp9, none(tv, bt709, progressive), 1280x720, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
Metadata:
HANDLER_NAME : VideoHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvpx-vp9
DURATION : 00:00:20.166000000
webm_dash_manifest_duration: 20166
webm_dash_manifest_initialization_range: 1008
webm_dash_manifest_file_name: 720p.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 3903085
webm_dash_manifest_cues_end: 3903182
webm_dash_manifest_bandwidth: 1473835
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,5000,10000,15000,20000
Input #2, webm_dash_manifest, from 'audio.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.16, bitrate: 118 kb/s
Stream #2:0: Audio: vorbis, 44100 Hz, stereo, fltp (default)
Metadata:
HANDLER_NAME : SoundHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvorbis
DURATION : 00:00:20.158000000
webm_dash_manifest_duration: 20158
webm_dash_manifest_initialization_range: 5244
webm_dash_manifest_file_name: audio.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 298527
webm_dash_manifest_cues_end: 298624
webm_dash_manifest_bandwidth: 110530
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,4994,9983,14978,19971
At least one output file must be specified
将视频和音频转换为特定分辨率的命令运行没有问题。
在cli中直接运行FFMPEG命令
ffmpeg -f webm_dash_manifest -i 480p.webm -f webm_dash_manifest -i 720p.webm -f webm_dash_manifest -i audio.webm -c copy -map 0 -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2 my_manifest.mpd
您忘记了 "
。尝试:
ffmpeg -f webm_dash_manifest -i 480p.webm -f webm_dash_manifest -i 720p.webm -f webm_dash_manifest -i audio.webm -c copy -map 0 -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2" manifest.xml
大家好,我正在尝试使用 ffmpeg 为 VOD 创建一个 web-dash 清单,但我在使用 vp9 编解码器时遇到此错误 Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted Error initializing output stream 0:2 --
并且不了解该错误以及如何解决它。有人可以帮我吗?如果我使用 vp8 而不是 vp9 编解码器,我会得到同样的错误,但是 ffmpeg 日志没有显示任何错误。
subprocess.call([
FFMPEG_PATH,
"-f", "webm_dash_manifest", "-i", 480p_path,
"-f", "webm_dash_manifest", "-i", 720p_path,
"-f", "webm_dash_manifest", "-i", audio_path,
"-c", "copy", "-map", "0", "-map", "1", "-map", "2",
"-adaptation_sets", "id=0, streams=0,1, id=1, streams=2",
"-f", "webm_dash_manifest", dash_path
])
提前致谢
更新: 这是来自ffmpeg日志。
ffmpeg version 2021-09-27-git-b786bc7433-full_build-www.gyan.dev
Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.3.0 (Rev5, 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-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --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-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 57. 7.100 / 57. 7.100
libavcodec 59. 9.101 / 59. 9.101
libavformat 59. 5.100 / 59. 5.100
libavdevice 59. 0.101 / 59. 0.101
libavfilter 8. 9.100 / 8. 9.100
libswscale 6. 1.100 / 6. 1.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Trailing option(s) found in the command: may be ignored.
[webm_dash_manifest @ 000002242a67e500] Could not find codec parameters for stream 0 (Video: vp9, none(tv, bt709, progressive), 854x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, webm_dash_manifest, from '480p.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.17, bitrate: 907 kb/s
Stream #0:0: Video: vp9, none(tv, bt709, progressive), 854x480, SAR 1:1 DAR 427:240, 30 fps, 30 tbr, 1k tbn (default)
Metadata:
HANDLER_NAME : VideoHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvpx-vp9
DURATION : 00:00:20.166000000
webm_dash_manifest_duration: 20166
webm_dash_manifest_initialization_range: 1008
webm_dash_manifest_file_name: 480p.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 2286344
webm_dash_manifest_cues_end: 2286441
webm_dash_manifest_bandwidth: 862822
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,5000,10000,15000,20000
[webm_dash_manifest @ 000002242a69b840] Could not find codec parameters for stream 0 (Video: vp9, none(tv, bt709, progressive), 1280x720): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #1, webm_dash_manifest, from '720p.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.17, bitrate: 1548 kb/s
Stream #1:0: Video: vp9, none(tv, bt709, progressive), 1280x720, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
Metadata:
HANDLER_NAME : VideoHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvpx-vp9
DURATION : 00:00:20.166000000
webm_dash_manifest_duration: 20166
webm_dash_manifest_initialization_range: 1008
webm_dash_manifest_file_name: 720p.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 3903085
webm_dash_manifest_cues_end: 3903182
webm_dash_manifest_bandwidth: 1473835
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,5000,10000,15000,20000
Input #2, webm_dash_manifest, from 'audio.webm':
Metadata:
HANDLER : Created by Tester
MAJOR_BRAND : isom
MINOR_VERSION : 512
COMPATIBLE_BRANDS: isomiso2avc1mp41
HW : 1
:
BITRATE : 4000000
:
COMMENT : vid:v09044240000bq2bmhglths5sm54mgk0
COPYRIGHT : 638e55167a0287a903e7b6895ed5d02e
MAXRATE : 15000000
:
TE_IS_REENCODE : 1
:
ENCODER : Lavf59.2.101
Duration: 00:00:20.16, bitrate: 118 kb/s
Stream #2:0: Audio: vorbis, 44100 Hz, stereo, fltp (default)
Metadata:
HANDLER_NAME : SoundHandler
VENDOR_ID : [0][0][0][0]
ENCODER : Lavc59.1.100 libvorbis
DURATION : 00:00:20.158000000
webm_dash_manifest_duration: 20158
webm_dash_manifest_initialization_range: 5244
webm_dash_manifest_file_name: audio.webm
webm_dash_manifest_track_number: 1
webm_dash_manifest_cues_start: 298527
webm_dash_manifest_cues_end: 298624
webm_dash_manifest_bandwidth: 110530
webm_dash_manifest_cluster_keyframe: 1
webm_dash_manifest_cue_timestamps: 0,4994,9983,14978,19971
At least one output file must be specified
将视频和音频转换为特定分辨率的命令运行没有问题。
在cli中直接运行FFMPEG命令
ffmpeg -f webm_dash_manifest -i 480p.webm -f webm_dash_manifest -i 720p.webm -f webm_dash_manifest -i audio.webm -c copy -map 0 -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2 my_manifest.mpd
您忘记了 "
。尝试:
ffmpeg -f webm_dash_manifest -i 480p.webm -f webm_dash_manifest -i 720p.webm -f webm_dash_manifest -i audio.webm -c copy -map 0 -map 1 -map 2 -f webm_dash_manifest -adaptation_sets "id=0,streams=0,1 id=1,streams=2" manifest.xml