notedit / rtmp-to-webrtc

rtmp to webrtc
216 stars 62 forks source link

能运行播放,但过一段时间自动超时停止;推的rtmp流是正常的 #19

Open chenxia-123 opened 4 years ago

chenxia-123 commented 4 years ago

我使用命令:ffmpeg -fflags nobuffer -i rtmp://127.0.0.1:1935/live/{stream} -vcodec copy -an -bsf:v h264_mp4toannexb -f rtp -payload_type {pt} rtp://127.0.0.1:{port} 能在页面种看到正常的画面,但是过一段时间后会出现超时,停播现象。 尝试使用:gst-launch-1.0 -v rtmpsrc location=rtmp://localhost:1935/live/{stream} ! flvdemux ! h264parse ! rtph264pay config-interval=-1 pt={pt} ! udpsink host=127.0.0.1 port={port} 一直推流不成功。 请问:有什么建议吗?

chenxia-123 commented 4 years ago

超时调试输出:[0x7f7463fff700][1602311678.790][DBG]-DTLSICETransport::onRTCP() | FPU requested [ssrc:279434614,group:0x3f799a0,this:0x3f61650] [0x7f7463fff700][1602311678.792][DBG]-RTPSession::RequestFPU() [0x7f7463fff700][1602311678.792][DBG]-RTPSession::SendFIR() [0x7f7463fff700][1602311679.650][DBG]-DTLSICETransport::SetRTT() [rtt:2] [0x7f7463fff700][1602311680.418][DBG]-DTLSICETransport::SetRTT() [rtt:1] [0x7f7463fff700][1602311680.888][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311681.370][DBG]-DTLSICETransport::SetRTT() [rtt:2] [0x7f7463fff700][1602311682.857][DBG]-DTLSICETransport::SetRTT() [rtt:2] [0x7f7463fff700][1602311683.444][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311685.950][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311688.459][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311690.853][DBG]-RTPBundleTransport::onTimer() [0x7f7463fff700][1602311690.967][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311693.477][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311695.987][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311698.494][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311701.001][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865] [0x7f7463fff700][1602311703.507][DBG]-RTPBundleTransport::SendBindingRequest() [remote:192.168.0.165:60865]

DeweyNULL commented 4 years ago

我使用命令:ffmpeg -fflags nobuffer -i rtmp://127.0.0.1:1935/live/{stream} -vcodec copy -an -bsf:v h264_mp4toannexb -f rtp -payload_type {pt} rtp://127.0.0.1:{port} 能在页面种看到正常的画面,但是过一段时间后会出现超时,停播现象。 尝试使用:gst-launch-1.0 -v rtmpsrc location=rtmp://localhost:1935/live/{stream} ! flvdemux ! h264parse ! rtph264pay config-interval=-1 pt={pt} ! udpsink host=127.0.0.1 port={port} 一直推流不成功。 请问:有什么建议吗?

你好 请问可以详细交流一下ffmpeg页面 如何看到画面的吗?目前我能看到转码出来的SDP信息,但是会有提示: error sending rtcp package, no remote IP yet

然后一直循环 send() | we don't have an DTLS setup yet

chenxia-123 commented 4 years ago

我使用命令:ffmpeg -fflags nobuffer -i rtmp://127.0.0.1:1935/live/{stream} -vcodec copy -an -bsf:v h264_mp4toannexb -f rtp -payload_type {pt} rtp://127.0.0.1:{port} 能在页面种看到正常的画面,但是过一段时间后会出现超时,停播现象。 尝试使用:gst-launch-1.0 -v rtmpsrc location=rtmp://localhost:1935/live/{stream} ! flvdemux ! h264parse ! rtph264pay config-interval=-1 pt={pt} ! udpsink host=127.0.0.1 port={port} 一直推流不成功。 请问:有什么建议吗?

你好 请问可以详细交流一下ffmpeg页面 如何看到画面的吗?目前我能看到转码出来的SDP信息,但是会有提示: error sending rtcp package, no remote IP yet

然后一直循环 send() | we don't have an DTLS setup yet

应该是因为,没有加载DTLS证书的缘故,我在mediaServer.js 中添加了加载证书。 constructor(publicIp) { const cert = './cert.pem' const key = './cert.key' medoozeMediaServer.setCertificate(cert, key); // 证书加载 this.endpoint = medoozeMediaServer.createEndpoint(publicIp); // 创建 An endpoint represent an UDP server socket. medoozeMediaServer.enableDebug(true); medoozeMediaServer.enableUltraDebug(true);

    this.streams = new Map();
}