gpt4 book ai didi

java - 如何修复ffmpeg的比特率

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

我正在构建简单的 java 应用程序来将网络摄像头广播到正在监听的服务器

localhost:8082

使用以下java程序
private String frameRate = "60";
private String bitRate = "100k";

private String param = " -s 640x480 -f video4linux2 -i /dev/video0 -f mpeg1video -r "+frameRate+" -b:v "+bitRate+" http://localhost:8082/raj/640/480/";
private String command =" ffmpeg ";

//to execute

proc = rt.exec(command +" "+param);
proc.waitFor();

以下是从起点到 5 秒的输出。
frame=   27 fps=  0 q=5.4 size=      88kB time=0.43 bitrate=1655.4kbits/s dup=18 drop=0    
frame= 59 fps= 55 q=11.6 size= 146kB time=0.97 bitrate=1238.3kbits/s dup=45 drop=0
frame= 94 fps= 60 q=26.1 size= 207kB time=1.55 bitrate=1095.6kbits/s dup=69 drop=0
frame= 125 fps= 60 q=14.3 size= 235kB time=2.07 bitrate= 929.9kbits/s dup=83 drop=0
frame= 156 fps= 60 q=16.1 size= 276kB time=2.58 bitrate= 875.5kbits/s dup=97 drop=0
frame= 187 fps= 60 q=15.4 size= 306kB time=3.10 bitrate= 807.9kbits/s dup=111 drop=0
frame= 218 fps= 60 q=22.1 size= 343kB time=3.62 bitrate= 777.8kbits/s dup=125 drop=0
frame= 249 fps= 60 q=24.8 size= 379kB time=4.13 bitrate= 751.7kbits/s dup=139 drop=0
frame= 280 fps= 60 q=31.0 size= 402kB time=4.65 bitrate= 708.8kbits/s dup=153 drop=0
frame= 311 fps= 60 q=31.0 size= 436kB time=5.17 bitrate= 690.7kbits/s dup=167 drop=0
frame= 342 fps= 60 q=31.0 size= 458kB time=5.68 bitrate= 659.5kbits/s dup=181 drop=0

最初,比特率是可以的,但它是按降序排列的。这是由于java程序还是ffmped。如何固定比特率?

最佳答案

如果图像具有低运动(如安全摄像头),编码器可能不需要超过 700kbit 来对图像进行编码。如果您查看 q 值,它为 31(最大值为 31),因此量化器正在以可能的最高质量进行编码,并且仍然可以达到目标比特率。您可以增加分辨率以给编码器更多的工作,或者您可以添加填充。或者您可以享受节省的带宽:)

关于java - 如何修复ffmpeg的比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22370872/

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