Acties:
  • 0 Henk 'm!

  • Resistor
  • Registratie: April 2001
  • Niet online

Resistor

Niet meggeren!

Topicstarter
Ik heb een Ubiquiti UniFi Video Camera G3-PRO IP-camera, die levert een hele mooie stream op het lokale netwerk. Dat is RTSP. Op mijn computer in de werkkamer de dingen zien die ik ook kan zien als ik op het balkon ga staan :+

Ik wil die stream doorsturen naar Youtube, om er een live stream van te maken, maar Youtube heeft een RTMP stream nodig.

Ik heb een Raspberry Pi 3+, die hangt nu aan het netwerk om de stream te converteren.
Met de 'handleiding' die ik op https://www.stephenwagner...o-youtube-live-streaming/ gevonden heb lukt het maar half, maar als ik exact doe wat er staat heb ik met de 'originele' code die ik via SSH invoer niets, daarom beetje verder gaan graven.
De Pi draait zo'n beetje standaard de november versie van Raspbian.
Ik heb alleen het toegewezen videogeheugen vergroot naar 256MB, omdat ik dacht 'moet veel video converteren, meer geheugen is dan makkelijker'. Hangt verder niets aan, is eigenlijk alleen maar de Pi in de behuizing, met stroom- en netwerkkabel (naar een PL adapter)

Hier is de code die ik op die site gevonden heb, die ik dus via Putty/SSH in eerste instantie probeerde:
code:
1
ffmpeg -rtsp_transport tcp -i rtsp://IP.CAM.ADD.RESS/live1.sdp -framerate 30 -video_size 1280×720 -vcodec libx264 -preset veryfast -maxrate 1984k -bufsize 3968k -vf “format=yuv420p” -g 60 -c:a aac -b:a 128k -ar 44100 -f flv rtmp://YOUTUBELIVE/DIR/StreamKey

met de goede gegevens van mij ;)

Ik krijg dan een ' Input/output error', en als ik de code een beetje verbouw naar wat ik denk dat ik nodig heb (andere resolutie, andere bitrate (camera zegt dat het max. 6000Kbs is, dus dat vul ik in), grotere buffer (is dat echt nodig?), "format" deel weg, en nog wat dingen:
code:
1
ffmpeg -rtsp_transport tcp -i rtsp://192.168.2.11/s0 -framerate 30 -video_size 1920×1080 -vcodec libx264 -preset veryfast -maxrate 6000k -bufsize 12000k -c:a aac -b:a 128k -ar 44100 -f flv rtmp://a.rtmp.youtube.com/live2/[key]

krijg ik wel bewegend beeld en hoor geluid, maar het gaat heel erg haperend, en het Putty venster komen heel erg veel 'error while decoding' meldingen langs.
En zodra ik de SSH sessie (Putty venster) sluit, stopt ook de stream.
In het Youtube dashboard staat ook 'Video output low', diverse pogingen gedaan, de bitrate die Youtube zegt varieert tussen de 75 en 1250Mbit.

Verdere gegevens: Camera en Pi hangen samen aan de 3-poort van pricewatch: Devolo dLAN 1200 Triple+ Starter Kit , omdat ik buiten waar de camera hangt zwak WiFi bereik heb en geen netwerkkabel. 2e Devolo zit in de woonkamer (zelfde stroomgroep) waar hij aan het netwerk hangt. Verbinding met de buitenwereld is een 100/100Mb glasvezelverbinding. (en volgens de Devolo cockpit is de verbinding van buiten naar binnen 219, en van binnen naar buiten 167Mbit, op een Gb bekabeld netwerk)

Waar moet ik het zoeken om een soepele stream te krijgen, die ook aanwezig blijft als standalone? (dus alleen met camera en Pi)? Bv. iets totaal anders, en even aan een monitor hangen met een toetsenbord en muis zodat ik dingen in VLC in kan gaan stellen en dat automatisch op te laten starten? Andere programma's? Ik heb wel iets van bewegend beeld, ik heb het idee dat ik op de goede weg zit, maar ik weet het niet zeker.

What will end humanity? Artificial intelligence or natural stupidity?


Acties:
  • 0 Henk 'm!

  • Quindor
  • Registratie: Augustus 2000
  • Laatst online: 18:17

Quindor

Switching the universe....

Zo te zien probeer je te re-encoden op de je Pi, loopt je niet gewoon tegen een CPU limiet aan?

Je zou een copy:copy kunnen proberen om rechtstreeks de stream van de camera door te zetten naar YouTube, dat heb ik wel eens eerder gedaan en genereert weinig CPU belasting.

Intermit.Tech YouTube Kanaal, Intermit.Tech Blog, QuinLED


Acties:
  • 0 Henk 'm!

  • teaser
  • Registratie: April 2007
  • Laatst online: 10-05 12:43
Transcoding is inderdaad vrij CPU intensief, en mogelijk is de RPI hiervoor niet geschikt.
Resistor schreef op vrijdag 28 december 2018 @ 17:07:
Ik heb alleen het toegewezen videogeheugen vergroot naar 256MB, omdat ik dacht 'moet veel video converteren, meer geheugen is dan makkelijker'.
Videogeheugen wordt gebruikt om video weer te kunnen geven. Met een headless RPI is dat dus 256MB voor niets. Beter dus dat geheugen zoveel mogelijk vrij te geven dat de CPU er gebruik van kan maken.
Waar moet ik het zoeken om een soepele stream te krijgen, die ook aanwezig blijft als standalone? (dus alleen met camera en Pi)? Bv. iets totaal anders, en even aan een monitor hangen met een toetsenbord en muis zodat ik dingen in VLC in kan gaan stellen en dat automatisch op te laten starten? Andere programma's? Ik heb wel iets van bewegend beeld, ik heb het idee dat ik op de goede weg zit, maar ik weet het niet zeker.
Er zijn vele manieren in Linux om een process op de achtergrond te laten draaien zodat het niet samen met je user sessie wordt afgesloten.

Acties:
  • 0 Henk 'm!

  • Skipper-93
  • Registratie: November 2009
  • Laatst online: 11-05 15:03
@Resistor Hier een voorbeeld zonder re-encoding:
code:
1
-rtsp_transport tcp -i "camera-url" -c:v copy -c:a copy -async 1 -f flv "rtmp://a.rtmp.youtube.com/live2/[key]"

De video moet H264 zijn, de audio mag AAC of MP3 zijn.

PVOutput / Wind Turbine Live Camera


Acties:
  • 0 Henk 'm!

  • Resistor
  • Registratie: April 2001
  • Niet online

Resistor

Niet meggeren!

Topicstarter
Ik heb nu even geen tijd om te testen, maar als ik weer thuis ben (ik dacht dit 'even' te doen om van thuis live van het balkon naar het vuurwerk mee te kijken), maar ik geef niet op.

Ik zag ook een groot artikel ergens van iemand die Axis cameras via Noobs op de RaspPi doorzette met een hoop uitleg, kan ik ook nog proberen.

-edit-
https://github.com/e1ioan/RaspberryPi-AxisYoutubeStreaming

[ Voor 11% gewijzigd door Resistor op 02-01-2019 19:57 ]

What will end humanity? Artificial intelligence or natural stupidity?