#34·livego

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

Author: wuranxuCreated Jun 17, 2018Updated Feb 27, 2026

说明

环境: 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

  • 尝试obs工具

成功, 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>```