gwuhaolin / livego

live video streaming server in golang
MIT License
9.66k stars 2k forks source link

Windows下用ffmpeg推流失败, 求帮忙 #34

Open wuranxu opened 6 years ago

wuranxu commented 6 years ago

说明

环境: Windows10

由于结合flv.js使用的demo, 只给出了macos使用ffmpeg推流的方法, 在windows下-f avfoundation会报错。 去ffmpeg官网查看windows的相关命令, -f dshow和-f gdigrab -i desktop, 其中dshow本机运行时也是会报错。

命令行尝试如下:

ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://loc alhost/live/test

livego偶尔会提示,2018/06/17 17:19:57 writer.go:49: SendPacket error: closed

成功, flv.js也能看到本机画面。

ffmpeg -re -i output.flv -c copy -f flv rtmp://localhost/live/test

虽然ffmpeg没有报错, 但是livego报错了, 提示不支持的格式。


2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec
2018/06/17 17:11:09 source.go:141: no support video codec```

求帮助···会否是视频分辨率大小问题

还有其他问题:

```2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 rtmp.go:292: rtmp read packet panic:  runtime error: slice bounds out of range
2018/06/17 17:24:23 stream.go:207: [<key: live/test, URL: rtmp://localhost:1935/live/test, UID: UCzDyfaHSN6s_Ozj, Inter: false>] publisher closed
2018/06/17 17:24:23 source.go:170: hls source closed:  <key: live/test, URL: rtmp://localhost:1935/live/test, UID: UCzDyfaHSN6s_Ozj, Inter: true>
2018/06/17 17:24:23 stream.go:216: [<key: live/test, URL: rtmp://localhost:1935/live/test, UID: UCzDyfaHSN6s_Ozj, Inter: true>] player closed and remove
2018/06/17 17:24:23 source.go:112: [<key: live/test, URL: rtmp://localhost:1935/live/test, UID: UCzDyfaHSN6s_Ozj, Inter: true>] hls sender stop
2018/06/17 17:24:23 source.go:59: send packet error:  closed
2018/06/17 17:24:34 hls.go:85: check stop and remove:  <key: live/test, URL: rtmp://localhost:1935/live/test, UID: UCzDyfaHSN6s_Ozj, Inter: true>```
andarm commented 6 years ago
wuranxu commented 6 years ago

没有解决···我暂时没有类似需求,windows的话到时候打算用obs推流,用这个当服务器。用obs是可以的