Rumah >pembangunan bahagian belakang >Golang >Contoh keluaran pakej Golang Joy4 tidak berfungsi
Saya memulakan pelayan dahulu, dan kemudian berlari rtmp_publish
untuk menerbitkan data flv ke pelayan. Malangnya, ia tidak berjaya.
Selepas itu saya cuba menerbitkan dengan ffmpeg:
$ ffmpeg -re -i projectindex.flv -c copy -f flv rtmp://localhost:1936/app/publish
Ia berjaya dan saya boleh memainkan strim menggunakan vlc.
Kemudian saya menyemak log pada pelayan. Untuk ffmpeg, log mengandungi accept
dan parsing url
. Tetapi untuk rtmp_publish.go
, log hanya mengandungi accept
. accept
和parsing url
。但对于rtmp_publish.go
,日志中仅包含accept
。
我使用从 https:// 下载的 flv 文件 (sample-3.flv
) 进行了测试getsamplefiles.com/sample-video-files/flv,并且 ffmpeg 和 rtmp_publish/main.go
sample-3.flv
) getsamplefiles.com/sample-video-files/flv, dan dengan ffmpeg dan rtmp_publish/main. go
semuanya akan berfungsi. Bolehkah anda mengujinya dengan fail ini?
ffprobe
检查了sample-3.flv
Jika ia berfungsi, kemungkinan besar fail flv yang anda uji pada asalnya mengandungi strim yang tidak disokong oleh pakej.
Maklumat yang telah saya gunakan
:
$ 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 tbnAnda boleh menyemak output anda dan membandingkan output dengan yang di atas (tetapi saya tidak tahu apa yang pakej ini menyokong atau tidak menyokong).
Nota kepada sesiapa sahaja yang ingin menjalankan contoh ini go.mod
:
Pertama sekali, kod sumber pakej ini tidak mengandungi http_flv_and_rtmp_server
默认监听 1935
端口。所以如果我们不改变服务器,我们就得改变rtmp_publish/main.go
fail. Buat satu di akar repositori:
$ go mod init github.com/nareix/joy4:
- 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")
ffplay
Arahan ffmpeg hendaklah:
$ ffmpeg -re -i sample-3.flv -c copy -f flv rtmp://localhost:1935/app/publish
Dan strim boleh dimainkan menggunakan ffmpeg
或 go run rtmp_publish/main.go
时请确保 sample-3.flv
:
$ ffplay http://localhost:8089/app/publish🎜Jalankan 🎜 dalam direktori kerja semasa🎜
Atas ialah kandungan terperinci Contoh keluaran pakej Golang Joy4 tidak berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!