Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改输入视频的ffmpeg缓冲区_Ffmpeg_Buffer Overflow - Fatal编程技术网

如何更改输入视频的ffmpeg缓冲区

如何更改输入视频的ffmpeg缓冲区,ffmpeg,buffer-overflow,Ffmpeg,Buffer Overflow,如何更改仍为3M的缓冲区 当前启动命令: ffmpeg-f dshow-i video=“屏幕捕获录像机”-vcodec libx264-预设:v ultrafast-过滤器:v“crop=480:270:0:0”-vf tpad=start_duration=30-r 30-g 60-keyint_min 60-sc_阈值0-b:v 1G-最大速率2500k-bufsize 1G-rtbufsize-sws_标志lanczos+精确的-acodec-b:a 96k-ar 48000-ac 2-

如何更改仍为3M的缓冲区

当前启动命令:

ffmpeg-f dshow-i video=“屏幕捕获录像机”-vcodec libx264-预设:v ultrafast-过滤器:v“crop=480:270:0:0”-vf tpad=start_duration=30-r 30-g 60-keyint_min 60-sc_阈值0-b:v 1G-最大速率2500k-bufsize 1G-rtbufsize-sws_标志lanczos+精确的-acodec-b:a 96k-ar 48000-ac 2-f flvrtmp://127.0.0.1/live/test

对于我们的最终设置,我们希望有140秒的延迟添加到这个流

我们正在设置: -bufsize 1G -RTBUFSIZE1G -b:v1g 将我们所有的缓冲区设置为1G,但它似乎有一个不同的缓冲区,我似乎找不到,设置为3M左右


它是
-rtbufsize
,但它是应用于输入的,所以它在该输入之前


因此,您的命令将以
ffmpeg-f dshow-rtbufsize 1G-i video=“screen capture recorder”

的形式启动,该命令似乎可以工作,但它似乎可以在1/2秒内填满该缓冲区和2gig缓冲区。我想这需要压缩才能工作?你的输入是2560x144032位/像素,每秒30帧。也就是420MB/s。您希望在处理数据之前保留30秒的数据。你需要足够的内存。可能有一种方法可以将其缓存到磁盘上,但我必须对此进行测试。