使用 ffmpeg 从原始 png 图片 16 位深度生成 mkv 视频

问题描述 投票:0回答:1

我需要用此输出接收视频

流#0:1(eng):视频:rawvideo(b16g / 0x67363162),gray16be, 640x576、SAR 1:1 DAR 10:9、30 fps、30 tbr、1000k tbn、1000k tbc (默认)

私人数据:

尺寸 40(FourCC:0x62313667“b16g”)

我正在尝试使用:

ffmpeg.exe -i depth%d.png -c:v rawvideo -vtag b16g -pix_fmt gray16be -r 30 -allow_raw_vfw 1 depth_out.mkv

但我收到了带有这些参数的视频:

流 #0:0:视频:rawvideo、rgb555le、640x576、SAR 1:1 DAR 10:9、30 fps、30 tbr、1k tbn、1k tbc(默认)

并使用此私有编解码器数据:

大小 40(FourCC:0x00000000“???”:未压缩)

我将不胜感激任何建议或猜测,谢谢!

*更新 - 完整日志:

ffmpeg -framerate 30 -i 深度\深度%04d.png -c:v rawvideo -vtag b16g -pix_fmt grey16be -allow_raw_vfw 1 out_video.mkv ffmpeg 版本 n4.3.1-221-gd08bcbffff 版权所有 (c) 2000-2021 FFmpeg 开发人员
使用 gcc 9.3-win32 (GCC) 20200320 配置构建: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os =mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable -libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-opencl --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable -avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus - -enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --启用schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --启用 libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 输入 #0,image2,来自 '深度\深度%04d.png':持续时间:00:00:25.90,开始:0.000000, 比特率:不适用

流 #0:0:视频:png、gray16be(pc)、640x576 [SAR 1:1 DAR 10:9]、30 fps、30 tbr、30 tbn、30 tbc

流映射:流 #0:0 -> #0:0 (png (native) -> rawvideo (native)) 按 [q] 停止,按 [?] 寻求帮助 [matroska @ 000001f25bb71dc0] 此格式不支持编解码器 rawvideo 输出 #0,matroska,到“out_video.mkv”:
元数据: 编码器:Lavf58.45.100 流 #0:0:视频:rawvideo、gray16be、640x576 [SAR 1:1 DAR 10:9]、q=2-31、176947 kb/s、30 fps、1k tbn、30 tbc 元数据: 编码器:Lavc58.91.100原始视频帧= 777 fps=602 q=-0.0 Lsize= 559475kB 时间=00:00:25.86 比特率=177177.1kbits/s 速度= 20x 视频:559440kB 音频:0kB 字幕:0kB 其他流:0kB 全局标头:0kB 复用开销:0.006204%

video ffmpeg png raw
1个回答
0
投票

对我来说,将其分为以下两个步骤是有效的:

  1. ffmpeg -framerate 30 -i .\folder\file#%05d.png -c:v rawvideo -allow_raw_vfw 1 -pix_fmt gray16be -vtag b16g depth_video.avi
  2. & 'C:\Program Files\MKVToolNix\mkvmerge.exe' -o depth_video.mkv --compression 0:none --track-name "0:DEPTH" --video-tracks 0 --fourcc 0:b16g depth_video.avi

未测试进一步优化。欢迎任何改进:)

FFmpeg 版本:2023-11-05-git-44a0148fad-full_build-www.gyan.dev

MKVToolNix 版本:80.0

平台:Windows 10

© www.soinside.com 2019 - 2024. All rights reserved.