Skip to content

Test: push a real video track, matching the default -c:v copy path - #63

Merged
mormegil6 merged 2 commits into
EnvelopSound:masterfrom
mormegil6:test-video-track
Aug 17, 2026
Merged

Test: push a real video track, matching the default -c:v copy path#63
mormegil6 merged 2 commits into
EnvelopSound:masterfrom
mormegil6:test-video-track

Conversation

@mormegil6

Copy link
Copy Markdown
Collaborator

#62 restored CI but left test red: the bundled test pushes audio-only 16-ch AAC (test.wav), and the shipped default (FFMPEG_FLAGS=... -c:v copy) has nothing to copy against an audio-only source, so it never writes a manifest. Full diagnosis is in #62's description.

Rather than special-case audio-only support (a bigger, separate question -- no one has actually asked for it, and Earshot's own README documents "optional video" as aspirational rather than something the shipped default handles), this instead fixes the test to match the path the project actually supports and every real deployment uses: video+audio. Adds a synthetic testsrc2 video track alongside the existing audio, encoded with libx264 so the default -c:v copy has something to copy -- same audio path as before, unchanged.

EnvelopSound#62 restored CI but left `test` red: the bundled test pushes audio-only
16-channel AAC, and the shipped default (-c:v copy) has nothing to copy
against a source with no video, so it never writes a manifest. Full
diagnosis is in EnvelopSound#62.

Rather than special-case audio-only support - a bigger, separate question,
and not one anyone has actually asked for - this fixes the test to match
the path the project actually supports and every real deployment uses:
video+audio. Adds a synthetic testsrc2 video track alongside the existing
audio, encoded with libx264 so -c:v copy has something to copy. The audio
path is unchanged.
Copilot AI lite review requested due to automatic review settings August 17, 2026 10:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes the media streaming CI test to publish a video+audio RTMP stream, aligning the test input with the project’s default transcoder configuration (-c:v copy) so a DASH manifest is produced.

Changes:

  • Updates the bundled test publisher to add a synthetic testsrc2 video stream alongside the existing 16-channel AAC audio stream.
  • Encodes the synthetic video with libx264 so the transcoder’s default video-copy path has a video track to copy.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tester/run-tests.sh Outdated
echo "Testing media streaming"

bash -c "ffmpeg -y -stream_loop -1 -i test.wav -af \"channelmap=channel_layout=hexadecagonal\" -c:a aac -ac 16 -b:a 2048k -f flv \"rtmp://nginx-rtmp:1935/live/stream1?token=${RTMP_AUTH_TOKEN}\" &"
bash -c "ffmpeg -y -stream_loop -1 -i test.wav -f lavfi -i \"testsrc2=size=640x360:rate=25\" -af \"channelmap=channel_layout=hexadecagonal\" -c:v libx264 -g 25 -c:a aac -ac 16 -b:a 2048k -f flv \"rtmp://nginx-rtmp:1935/live/stream1?token=${RTMP_AUTH_TOKEN}\" &"
RTMP_AUTH_TOKEN was spliced into a string that a second bash -c then
re-parsed, so a token containing shell metacharacters could break out.
Backgrounding ffmpeg directly needs no such wrapper and removes the
double-interpolation entirely.
@mormegil6
mormegil6 merged commit 9fa6218 into EnvelopSound:master Aug 17, 2026
4 checks passed
@mormegil6
mormegil6 deleted the test-video-track branch August 17, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants