Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Streaming Android Audio?

Open
#926 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
android, java

Research direction

The issue asks whether Termux:API can stream Android microphone audio to a remote host using FFmpeg, but it does not identify a code path or define a requested project change. Read the related discussion in #360 and inspect the repository’s audio recording entry points to determine whether this is supported. Done would need a specific, documented behavior for recording or streaming audio; the issue does not provide acceptance criteria.

Written by the indexing model from the issue text.

Description

While apparently this issue has already been solved as detailed in #360, I'm still interested as far as the fundamentals of using Termux/Android to somehow stream audio. In the aforementioned thread, there's this line of code which is apparently meant to somehow stream microphone audio from the Android client to a remote host and pipe the output back to the client: ssh $USER@$HOST -p $PORT "pulseaudio -k; pulseaudio -L 'module-sles-source' -D ; rec -t wav -" | mpv - I'm simply curious as how exactly this works and if I can do a similar task with FFMPEG (if the software is installed on the remote host as the example above seems to suggest for pulseaudio). This question may already be answered, but I'm not an expert when it comes to audio/sound servers. I'd appreciate any constructive insight.

TL;DR - I'm wondering if (similar to the above code snippet) I can use FFMPEG on a remote machine to somehow record audio from the Android client's microphone: the general workflow would look like this:

  1. My Android phone securely connects to the remote machine
  2. The microphone audio is streamed from the client to the remote machine
  3. The output is either piped back to the client or otherwise stored as a local file on the remote machine in question.
Dominant language
Java
Stars
4.5k
Forks
969
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from termux/termux-api

All issues in termux/termux-api

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.