用javacv 抓取rtp的流,显示在CanvasFrame上面,发现一直都是模模糊糊的,丢包很严重。
研究了几天没有结果,今天从stackoverflow 一个问题中得到灵感,
原来用h264的解码器还有好几种,估计ffmpeg 探测不出来具体的编码格式,所以变成
Video: h264 (none)
实际是
Video: h264 (Constrained Baseline)
结果显示的时候需要编码的时候可能和原始编码格式不匹配,导致编码解码很花时间,就丢弃一部分包,
造成解码出来是花屏的。
解决方案是就是添加一个
grabber.setVideoOption("vcodec", "copy");//must have this