gpt4 book ai didi

video - 应用过滤器前后的 ffmpeg 记录

转载 作者:行者123 更新时间:2023-12-04 23:08:00 26 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg做以下事情:

  • 获取输入流 [OK]
  • 将视频按原样保存到磁盘 [TODO]
  • 应用过滤器,即drawtext [OK]
  • 将覆盖的视频保存到磁盘 [OK]
  • 预览叠加的视频[OK]

  • 这是我当前的命令行:
    ffmpeg -rtsp_transport tcp -i <path-to-stream> -vf "[in]drawtext=textfile='text.txt': reload=1: font=arial: fontcolor=red: fontsize=80: box=1: boxcolor=yellow@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2[out]" -vcodec libx264 -f tee -map 0:v "[f=mp4]test.mp4|[f=nut]pipe:" | ffplay pipe:

    唯一不明白的就是录制 drawtext之前的视频.我想我必须创建另一个 tee :
    INPUT ---> TEE ---->RECORD
    |
    |-->FILTERS---> TEE ---->RECORD
    |
    |-->PLAY

    所以我尝试了这个繁琐的命令:
    ffmpeg -rtsp_transport tcp -i <path-to-stream> -vcodec libx264 -f tee -map 0:v "[f=mp4]before.mp4|[f=nut]pipe:" | ffmpeg -f mp4 -i pipe: -vf "[in]drawtext=textfile='text.txt': reload=1: font=arial: fontcolor=red: fontsize=80: box=1: boxcolor=yellow@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2[out]" -vcodec libx264 -f tee -map 0:v "[f=mp4]after.mp4|[f=nut]pipe:" | ffplay pipe:

    它不会抛出错误,记录“before.mp4”,但“after.mp4”和预览都不起作用。当然,我忘记了语法中的某些内容。

    最佳答案

    将视频映射两次并将过滤器仅应用于第一个输出流。

    利用
    ffmpeg -rtsp_transport tcp -i <path-to-stream> -map 0:v -map 0:v -filter:v:0 "drawtext=textfile='text.txt': reload=1: font=arial: fontcolor=red: fontsize=80: box=1: boxcolor=yellow@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -c:v libx264 -f tee "[f=mp4:select=\'v:0\']withtext.mp4|[f=mp4:select=\'v:1\']notext.mp4|[f=nut:select=\'v:0\']pipe:" | ffplay pipe:

    关于video - 应用过滤器前后的 ffmpeg 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56024067/

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