我有一个Electron应用程序通过ffmpeg进行一些视频流传输。它在Windows上工作正常,但我在Mac上遇到一个小问题。我使用ffmpeg流式传输桌面,并尝试订阅rtmp流。我知道rtmp流是实时的,因为我可以成功地从中获取帧。
问题是,当我订阅ffplay时,它不起作用,输出如下所示:
2018/01/01 20:57:25:618 [web] nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
当我再次订阅时(前一个流程仍在进行中),它可以正常工作:2018/01/01 20:57:25:828 [web] 340.93 M-V: 0.001 fd= 0 aq= 0KB vq= 131KB sq= 0B f=0/0
输出到命令行的唯一区别是:
Input #0, live_flv, from 'rtmp:{stream-url-here}':=0/0
2018/01/01 20:57:15:427 [web] Metadata:
2018/01/01 20:57:15:427 [web] Server : NGINX RTMP
(github.com/sergey-dryabzhinsky/nginx-rtmp-module)
2018/01/01 20:57:15:427 [web] displayWidth : 1024
2018/01/01 20:57:15:428 [web] displayHeight : 640
2018/01/01 20:57:15:429 [web] fps : 20
2018/01/01 20:57:15:429 [web] profile :
2018/01/01 20:57:15:430 [web] level :
2018/01/01 20:57:15:430 [web] Duration: 00:00:00.00, start:
316.500000, bitrate: N/A
2018/01/01 20:57:15:430 [web] Stream #0:0: Video: h264 (Constrained
Baseline), yuv420p(progressive), 1024x640, 20 fps, 20 tbr, 1k tbn, 40
tbc
我试图弄清楚为什么它只能在第二次订阅时工作,这就是差异,我假设它成功收到了流信息,但我想弄清楚为什么它只能工作第二次时间。
谢谢!