Beispiel für die Veröffentlichung des Golang Joy4-Pakets funktioniert nicht

王林
Freigeben: 2024-02-06 09:39:03
nach vorne
869 Leute haben es durchsucht

Golang Joy4包发布示例不起作用

Frageninhalt

  • Server: https://github.com/nareix/joy4/tree/master/examples/http_flv_and_rtmp_server
  • Veröffentlichen: https://github.com/nareix/joy4/tree/master/examples/rtmp_publish

Ich habe zuerst den Server gestartet und dann rtmp_publish ausgeführt, um die FLV-Daten auf dem Server zu veröffentlichen. Leider hat es nicht geklappt.

Danach habe ich versucht, mit ffmpeg zu veröffentlichen:

$ ffmpeg -re -i projectindex.flv -c copy -f flv rtmp://localhost:1936/app/publish
Nach dem Login kopieren

Es hat funktioniert und ich kann den Stream mit VLC abspielen.

Dann habe ich die Protokolle auf dem Server überprüft. Für ffmpeg enthält das Protokoll accept und parsing url. Aber für rtmp_publish.go enthält das Protokoll nur accept. acceptparsing url。但对于rtmp_publish.go,日志中仅包含accept


正确答案


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

Richtige Antwort

Ich habe den Link von https verwendet :// / Getestet mit der heruntergeladenen FLV-Datei (sample-3.flv) getsamplefiles.com/sample-video-files/flv und mit ffmpeg und rtmp_publish/main. go< /code> wird alles funktionieren. Können Sie es mit dieser Datei testen? <p> <code>ffprobe检查了sample-3.flvWenn es funktioniert, enthält die ursprünglich getestete FLV-Datei wahrscheinlich einen Stream, den das Paket nicht unterstützt.

Informationen, die ich verwendet habe

:

$ 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
Nach dem Login kopieren
Sie können Ihre Ausgabe überprüfen und die Ausgabe mit der obigen Ausgabe vergleichen (aber ich weiß nicht, was dieses Paket unterstützt und was nicht).

Hinweis für alle anderen, die dieses Beispiel ausführen möchten go.mod:

Zuallererst enthält der Quellcode dieses Pakets keine http_flv_and_rtmp_server 默认监听 1935 端口。所以如果我们不改变服务器,我们就得改变rtmp_publish/main.go Dateien. Erstellen Sie eine im Stammverzeichnis des Repositorys:

$ go mod init github.com/nareix/joy4
Nach dem Login kopieren

:

- 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")
Nach dem Login kopieren
Der Befehl ffplayffmpeg sollte lauten:

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

Und der Stream kann mit ffmpeggo run rtmp_publish/main.go 时请确保 sample-3.flv abgespielt werden:

$ ffplay http://localhost:8089/app/publish
Nach dem Login kopieren
🎜Führen Sie 🎜 im aktuellen Arbeitsverzeichnis aus🎜

Das obige ist der detaillierte Inhalt vonBeispiel für die Veröffentlichung des Golang Joy4-Pakets funktioniert nicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!