使用ffmpeg,我可以流式传输视频。我编写了socket Java程序,它连接到TCP并读取Live流。
我的Java程序完成录制后,ffmpeg正在停止并意外地跟踪错误。我想让ffmpeg一直运行。
av_interleaved_write_frame():未知错误编写预告片时出错 tcp://XX.XX.XX.XX:5800?listen:错误号-10053 curred
我正在使用的ffmpeg命令:
ffmpeg.exe -f gdigrab -an -sn -framerate 7 -i desktop -video_size 800x600 -c:v libx264 -preset ultrafast -maxrate 4000k -crf 40 -bufsize 8000k -probesize 32 -f mpegts tcp://xx.xx.xx.xx:5800?listen
Java代码:
DataInputStream ois = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
while((n = ois.read(buf)) != -1 && n!=3 ){
fos.write(buf,0,n);
fos.flush();
cnt--;
if(cnt ==0) break;
}