gpt4 book ai didi

.net-core - FFmpeg 错误 - 管道输入的未指定像素格式

转载 作者:行者123 更新时间:2023-12-04 22:45:36 25 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 将流转换为 mp4 文件

ffmpeg -i pipe:0 -c:v libx264 -crf 20 -an -s 800x600 -q:v 31 output.mp4

输出:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55e63529aec0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, 3001 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.45.100 Duration: 00:03:03.15, start: 0.000000, bitrate: N/A
Stream #0:0(und): Video: h264 (avc1 / 0x31637661), none, 1280x720, 3001 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : Stereo
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
[mov,mp4,m4a,3gp,3g2,mj2 @0x55e63529aec0] stream 0, offset 0x30: partial file pipe:0: Invalid data found when processing input
Cannot determine format of input stream 0:0 after EOF Error marking filters as finished
Conversion failed!

我尝试过的:

增加命令中的analyzedurationprobesize

ffmpeg -analyzeduration 100M -probesize 100M -i pipe:0 -c:v libx264 -crf 20 -an -s 800x600 -q:v 31 output.mp4

但我仍然有同样的错误。

更新:

ffmpeg -f mp4 -i pipe:0 -c:v libx264 -f mp4 output.mp4

这个将流格式化为 mp4 的命令实际上适用于较小的文件。我仍然对更大的文件有疑问。 I'm suspecting on dockerfile with specfic ffmpeg package

最佳答案

您必须告诉 FFmpeg 您的管道数据使用的编解码器格式(和/或设置)。
您没有说明您的“流” 使用的是什么格式,所以这里有一些一般提示:

  • 应用格式设置(包括宽度/高度,如原始 RGB 数据所需)。
  • 使用-f 指定格式。
  • 使用-pix_fmt指定YUV图片格式(如4:2:0)

例如,如果您要转换的流是 H.264 格式(此处不需要 pix_fmt):

ffmpeg -f h264 -i - -c:v copy -f mp4 output.mp4

或者可以尝试(你不需要 -f 的 MP4 输出:

ffmpeg -f h264 -i pipe:0 -c:v copy output.mp4

如果您的流是原始 RGB 像素数据:
(也许您使用 -r 30 以 30 FPS 的代码/位图数据生成视频)。

ffmpeg -f rawvideo -pix_fmt argb -s 800x600 -r 30 -i pipe:0 -c:v libx264 -crf 20 -an  -q:v 31 output.mp4 

希望对您有所帮助。如果遇到特定错误,请询问任何问题。

关于.net-core - FFmpeg 错误 - 管道输入的未指定像素格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71080699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com