Home >Backend Development >Golang >Golang Joy4 package release example not working
I started the server first, and then ran rtmp_publish
to publish the flv data to the server. Unfortunately, it didn't work out.
Afterwards I tried publishing with ffmpeg:
$ ffmpeg -re -i projectindex.flv -c copy -f flv rtmp://localhost:1936/app/publish
It worked and I can play the stream using vlc.
Then I checked the logs on the server. For ffmpeg, the log contains accept
and parsing url
. But for rtmp_publish.go
, the log only contains accept
.
I tested using the flv file (sample-3.flv) downloaded from
https:// getsamplefiles.com/sample-video-files/flv, and both ffmpeg and rtmp_publish/main.go
will work. Can you test it with this file?
If it works, it's likely that the flv file you originally tested contains a stream that the package doesn't support.
I have used ffprobe
to check the information of sample-3.flv
:
$ ffprobe sample-3.flv input #0, flv, from 'sample-3.flv': metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : lavf56.15.102 duration: 00:00:30.08, start: 0.000000, bitrate: 7836 kb/s stream #0:0: video: h264 (constrained baseline), yuv420p(progressive), 1920x1080 [sar 1:1 dar 16:9], 8000 kb/s, 25 fps, 25 tbr, 1k tbn
You can check your output and compare the output with the above (but I don't know what this package supports or doesn't support).
Notes to others who want to run this example:
First of all, the source code of this package does not contain a go.mod
file. Create one at the root of the repository:
$ go mod init github.com/nareix/joy4
http_flv_and_rtmp_server
Default listening port 1935
. So if we don't change the server, we have to change rtmp_publish/main.go
:
- file, _ := avutil.open("projectindex.flv") - conn, _ := rtmp.dial("rtmp://localhost:1936/app/publish") + file, _ := avutil.open("sample-3.flv") + conn, _ := rtmp.dial("rtmp://localhost:1935/app/publish")
ffmpeg command should be:
$ ffmpeg -re -i sample-3.flv -c copy -f flv rtmp://localhost:1935/app/publish
And the stream can be played using ffplay
:
$ ffplay http://localhost:8089/app/publish
Please make sure sample-3.flv
is in the current working directory when running ffmpeg
or go run rtmp_publish/main.go
The above is the detailed content of Golang Joy4 package release example not working. For more information, please follow other related articles on the PHP Chinese website!