gpt4 book ai didi

ffmpeg - 如何将两个 ffmpeg 查询合并到一个管道?

转载 作者:行者123 更新时间:2023-12-04 23:11:17 24 4
gpt4 key购买 nike

我有一系列拜耳图像(100 张图像)(图像前:https://drive.google.com/file/d/1V8HwOuIo9PBX3ix0eKFQFGimskU_H0mN/view?usp=sharing),我需要做的是

  • 去拜耳他们
  • 压缩.h264中的结果文件

  • 所以,我使用了两个查询
    对于德拜耳
    ffmpeg -y -i D:\Buffer\Bayer\Time%7d_img.bmp -vf format=gray -f rawvideo pipe: -hide_banner | ffmpeg -y -f rawvideo -pixel_format bayer_rggb8 -video_size 4104x3006 -i pipe: -frames 100 D:\Buffer\res\result%7d.png -hide_banner
    并用于压缩
    ffmpeg -framerate 30 -i D:\Buffer\res\result%7d.png -c:v hevc_nvenc -qp 0 D:\Buffer\res264\test5.h264 -hide_banner
    我需要将这两个查询合并为一个,我尝试这样做
    ffmpeg -y -i D:\Buffer\Bayer\Time%7d_img.bmp -vf format=gray -f rawvideo pipe: -hide_banner | ffmpeg -y -f rawvideo -pixel_format bayer_rggb8 -video_size 4104x3006 pipe: -hide_banner | ffmpeg -c:v hevc_nvenc -qp 0 -i pipe D:\Buffer\res264\test5.h264 -hide_banner
    但我在这里得到一个错误
    Input #0, image2, from 'D:\Buffer\Bayer\Time%7d_img.bmp':
    Output #0, rawvideo, to 'pipe:': Duration:
    00:00:40.0Output file #0 does not contain any stream0
    , start: 0.000000, bitrate: N/AUnknown decoder 'hevc_nvenc'

    Stream #0:0: Video: bmp, pal8, 2464x2056, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (bmp (native) -> rawvideo (native))
    Press [q] to stop, [?] for help
    Output #0, rawvideo, to 'pipe:':
    Metadata:
    encoder : Lavf58.29.100
    Stream #0:0: Video: rawvideo (Y800 / 0x30303859), gray, 2464x2056, q=2-31, 1013196 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
    encoder : Lavc58.54.100 rawvideo
    av_interleaved_write_frame(): Invalid argument
    Error writing trailer of pipe:: Invalid argument
    frame= 1 fps=0.0 q=-0.0 Lsize= 4947kB time=00:00:00.04 bitrate=1013196.8kbits/s speed= 2x
    video:4947kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
    Conversion failed!
    我在这里做错了什么?

    最佳答案

    几点注意事项:

  • 无需先将帧转换为 PNG。
  • hevc_nvenc应用 H.265 编解码器,并且您正在使用 .h264文件扩展名。
    我试过h264_nvenc ,但我收到错误,因为分辨率太高(对于 H.264 NVIDIA 编码器)。
  • result%7d.png应该是 result%07d.png
  • 建议选择像素格式(yuv420p 或 yuv444p)。

  • 这是语法:
    ffmpeg -y -hide_banner -i Time%07d_img.bmp -vf format=gray -f rawvideo pipe: | ffmpeg -hide_banner -y -framerate 30 -f rawvideo -pixel_format bayer_rggb8 -video_size 4104x3006 -i pipe: -c:v hevc_nvenc -qp 0 -pix_fmt yuv444p test5.hevc

    关于ffmpeg - 如何将两个 ffmpeg 查询合并到一个管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67602142/

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