obsproject / obsproject/obs-studio

Why does obs-studio not handle any requests from the rtmp server during publishing?

Open
#11,692 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Description

Operating System Info

Windows 10

Other OS

Ubuntu 22.04

OBS Studio Version

Git

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/SMsVmSX1XirWIh6A

OBS Studio Crash Log URL

No response

Expected Behavior

OBS Studio can reply the server's ping request to let server calculate the rtt between obs and server.

Current Behavior

OBS Studio just ignore all requests from server during publishing.

Steps to Reproduce

Just publish any stream to remote rtmp server.

Anything else we should know?

I noticed that in the plugins/obs-outputs/rtmp-stream.c, the function process_recv_data() just ignores all packets. Why?

static bool process_recv_data(struct rtmp_stream *stream, size_t size)
{
	UNUSED_PARAMETER(size);

	RTMP *rtmp = &stream->rtmp;
	RTMPPacket packet = {0};

	if (!RTMP_ReadPacket(rtmp, &packet)) {
#ifdef _WIN32
		int error = WSAGetLastError();
#else
		int error = errno;
#endif
		do_log(LOG_ERROR, "RTMP_ReadPacket error: %d", error);
		return false;
	}

	if (packet.m_body) {
		/* do processing here */
		RTMPPacket_Free(&packet);
	}
	return true;
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in plugins/obs-outputs/rtmp-stream.c at process_recv_data(), then review the linked OBS log and the RTMP publishing path. Reproduce by publishing to a remote RTMP server and inspect how incoming packets are handled. Done means OBS responds to the server's ping request so the server can calculate RTT.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.