Rumah >pembangunan bahagian belakang >Golang >Contoh keluaran pakej Golang Joy4 tidak berfungsi

Contoh keluaran pakej Golang Joy4 tidak berfungsi

王林
王林ke hadapan
2024-02-06 09:39:03919semak imbas

Golang Joy4包发布示例不起作用

Isi soalan

  • Pelayan: https://github.com/nareix/joy4/tree/master/examples/http_flv_and_rtmp_server
  • Terbitkan: https://github.com/nareix/joy4/tree/master/examples/rtmp_publish

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. acceptparsing url。但对于rtmp_publish.go,日志中仅包含accept


正确答案


我使用从 https:// 下载的 flv 文件 (sample-3.flv) 进行了测试getsamplefiles.com/sample-video-files/flv,并且 ffmpeg 和 rtmp_publish/main.go

Jawapan betul

Saya menggunakan pautan daripada https :// / Diuji dengan fail flv yang dimuat turun (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.flvJika 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 tbn
Anda 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")
ffplayArahan ffmpeg hendaklah:

$ ffmpeg -re -i sample-3.flv -c copy -f flv rtmp://localhost:1935/app/publish

Dan strim boleh dimainkan menggunakan ffmpeggo 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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam