我正在尝试通过Libav库编码器在以下命令中使用avconv工具对实时rtmp流进行编码-
avconv -timelimit 4000 -i rtmp://IP/live/file-name -shortest -s 176*144 -r 10 \
-b:v 56k -ab 12k -ac 1 -ar 22050 -f flv rtmp://IP/live/file-name_56但音频与输出流中的视频不同步,码率改为56kbps,导致视频滞后。但是音频比特率不变&当前音频是可听的。
我正在通过Java的Run Time Environment播放它,10分钟后1小时的视频停止。当我在java中运行一个线程来运行avconv命令时,这个问题出现了,如下所示
public void run() {
try{
Thread.sleep(500);
Process pr= Runtime.getRuntime().exec("avconv -timelimit 4000 -i rtmp://IP/live/file-name -shortest -s 176*144 -r 10 -b:v 56k -ab 12k -ac 1 -ar 22050 -f flv rtmp://IP/live/file-name_56");
pr.waitFor();
}}请在这方面提供建议。
发布于 2014-01-21 15:59:31
音频同步通过以下方式实现
-async samples_per_second
音频同步方法。“拉伸/压缩”音频流以匹配时间戳,参数是音频每秒更改的最大样本数。-async 1是一种特殊情况,其中仅对音频流的开头进行了校正,而不进行任何后续校正。
Process pr= Runtime.getRuntime().exec("avconv -async 15 -timelimit 4000 -i rtmp://IP/live/file-name -shortest -s 176*144 -r 10 -b:v 56k -ab 12k -ac 1 -ar 22050 -f flv rtmp://IP/live/file-name_56");https://stackoverflow.com/questions/21178811
复制相似问题