FFmpeg kan een RTMP-testbron naar een toegewezen endpoint publiceren, maar een voltooid commando is niet het acceptatieresultaat. Gebruik een bekende invoer, bescherm URL en sleutel, en controleer publisheractiviteit, gedecodeerde media en het gekozen ontvangerpad.
Kies eerst de toegangsmodus
In de gecontroleerde modus zijn Publisher en Receiver afzonderlijke rollen op dezelfde geconfigureerde streamnaam en kunnen zij dezelfde RTMP-URL gebruiken. In de gastmodus stelt u het endpoint bewust open en gebruikt u een niet-lege streamnaam; de ontvanger moet diezelfde naam gebruiken.
Vóór u publiceert
Haal de RTMP-publicatie-URL en streamsleutel op uit de deployment. Plak nooit een echte sleutel in shellgeschiedenis, ticket of artikel. Bevestig dat uw FFmpeg-build RTMP ondersteunt: de FFmpeg-protocoldocumentatie beschrijft protocolopties; de formatdocumentatie behandelt muxer-gedrag.
ffmpeg -protocols | grep rtmp
Verwacht resultaat: de opdracht toont een RTMP-protocolvariant die door die build wordt ondersteund. Is dat niet zo, pas de test dan aan de geïnstalleerde build aan in plaats van aan te nemen dat een pakket het protocol bevat.
Publiceer een bestand op realtime tempo
ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Verwacht resultaat: FFmpeg blijft framevoortgang melden in plaats van het bestand zo snel mogelijk vanaf opslag te versturen. -re leest een bestand op oorspronkelijke snelheid voor deze begrensde test. Vervang de placeholders door waarden die voor de listener zijn uitgegeven; wijzig het applicatiepad of de sleutel niet.
Transcodeer wanneer het uitvoercontract dat vereist
ffmpeg -re -stream_loop -1 -i input.mov -c:v libx264 -pix_fmt yuv420p -g 60 -c:a aac -ar 48000 -b:a 128k -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Verwacht resultaat: de ontvanger ziet een continue publisher met decodeerbare video en audio. Dit is een voorbeeld, geen universeel coderingsrecept: kies framerate, GOP/keyframeinterval, bitrate, resolutie en audioparameters voor de werkelijke ontvanger en distributieworkflow.
Controleer op de server, daarna bij het beoogde resultaat
- Bevestig dat RTMP Server de verwachte publisher en inkomende bitrate meldt.
- Controleer beeld en audio vanaf de geconfigureerde ontvanger of het monitoringpunt.
- Test de ene beoogde downstreamuitvoer: opname, route of browserplayer.
- Onderbreek het proces eenmaal en controleer de ontvangerstatus en het herstelplan.
Vervang bij een live capture-apparaat de bestandsinvoer door de gedocumenteerde FFmpeg-invoersyntaxis en behoud dezelfde acceptatiecontroles aan serverzijde. Vermijd automatische reconnectlussen totdat u weet hoe de listener dubbele sessies behandelt; een lus kan de eerste bruikbare fout verbergen.
Kies het endpointprotocol dat is opgegeven
Gebruik het endpointprotocol dat voor deze taak is opgegeven. Callaba RTMP Server biedt de listener, toegangsregels en activiteitenweergave; browserweergave gebruikt een afzonderlijk geconfigureerde uitvoer.
Gerelateerde configuratie
Configureer de listener in Callaba RTMP Server, gebruik de operatorhandleiding voor toegangs- en statuscontroles, of volg RTMP naar HLS wanneer browserdistributie het beoogde resultaat is.
Lokale diagnostische zender en ontvanger
ffmpeg -re -f lavfi -i testsrc2=size=1280x720:rate=30 -f lavfi -i sine=frequency=1000:sample_rate=48000 -c:v libx264 -pix_fmt yuv420p -g 60 -c:a aac -b:a 128k -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Verwacht resultaat: FFmpeg meldt videoframes met ongeveer 30 fps en één audiostream; Callaba meldt invoerbitrate. De GOP-waarde 60 geeft elke twee seconden een keyframe bij 30 fps, een praktisch startpunt voor een workflow met segmenten van twee seconden — geen vereiste serverinstelling.
Kopieer pas na controle van de invoer: ffprobe -v error -show_entries stream=codec_name,codec_type -of default=nw=1 input.mp4. Gebruik deze uitvoer om codec- en audiodetails van de invoer te vergelijken met het gedocumenteerde contract van de ontvanger. Kopiëren is alleen redelijk als ze overeenkomen. Voor een diagnostische ontvanger moet ffplay -fflags nobuffer "rtmp://RECEIVER_HOST:PORT/APP/STREAM_NAME_OR_KEY" beeld en toon openen nadat de ontvanger verbinding maakt. Raadpleeg FFmpeg-filterbronnen voor testsrc2 en sine.
Volgende stappen
Configureer de listener in Callaba RTMP Server en controleer daarna toegang en activiteit in de operatorhandleiding.