Kinesis:EXCEPTION:SocketException:不允许操作(选择/轮询失败)

时间:2018-06-09 16:24:49

标签: aws-lambda amazon-kinesis

当我将帧推送到kinesis时,我一直收到此错误EXCEPTION: SocketException: Operation not permitted (select/poll failed),接下来是

f-stream is reported. Terminating...
DEBUG / KinesisVideo: Exception while sending data.
ERROR / KinesisVideo: 2018-06-09T16:26Z T31: EXCEPTION: RuntimeException: Exception thrown on sending thread: Exception while sending encoded chunk in MKV stream ! 
DEBUG / KinesisVideo: PutFrame index: 10, pts: 15285616115400000, dts: 15285616115400000, duration: 200000, keyFrame: false, flags: 0
com.amazonaws.kinesisvideo.producer.ProducerException: Failed to put a frame into the stream.

at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.putKinesisVideoFrame(Native Method)
        at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.putFrame(NativeKinesisVideoProducerJni.java:440)
        at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerStream.putFrame(NativeKinesisVideoProducerStream.java:259)
        at com.amazonaws.kinesisvideo.mediasource.ProducerStreamSink.onFrame(ProducerStreamSink.java:35)
        at com.amazonaws.kinesis.custom.S3FileMediaSource.putFrame(S3FileMediaSource.java:114)
        at com.amazonaws.kinesis.custom.S3FileMediaSource.access$3(S3FileMediaSource.java:112)
        at com.amazonaws.kinesis.custom.S3FileMediaSource$1.onFrameDataAvailable(S3FileMediaSource.java:103)
        at com.amazonaws.kinesis.custom.S3FrameSource.generateFrameAndNotifyListener(S3FrameSource.java:84)
        at com.amazonaws.kinesis.custom.S3FrameSource.access$0(S3FrameSource.java:71)
        at com.amazonaws.kinesis.custom.S3FrameSource$1.run(S3FrameSource.java:66)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

DEBUG / KinesisVideo: Received all data, close
DEBUG / KinesisVideo: Closing data stream
DEBUG / KinesisVideo: Stream unblocked notification.
DEBUG / KinesisVideo: Data availability notification. Upload handle: 0, Size: 0, Duration 0
DEBUG / KinesisVideo: Being notified to close stream streamName with uploadHandle 0
INFO / KinesisVideo: End-of-stream is reported. Terminating...

无法弄清楚为什么会这样,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后,我们改用PutMedia API插入MKV,但由于以下两个原因,我们发现上述错误归因于与Kinesis的连接终止

  1. 发送错误的片段(顺序/时间)
  2. 在完成Kinesis连接建立之前结束线程

我建议您在EC2实例或一般独立应用程序(JAR)上尝试您的逻辑并检查日志