Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FFmpeg MCM audio plugin #179

Merged
merged 5 commits into from
Aug 29, 2024

Conversation

ko80
Copy link
Collaborator

@ko80 ko80 commented Aug 22, 2024

This PR includes the commits listed below

  • Add FFmpeg MCM audio in/out devices plugin
  • Update FFmpeg patch to support audio plugins + Refactoring
  • Add arguments to configure MCM FFmpeg audio plugin + Refactoring
  • Add documentation for MCM FFmpeg audio plugin
  • Fix documentation for MCM FFmpeg plugin

ko80 added 2 commits August 21, 2024 15:58
This commit adds a basic implementation of an FFmpeg MCM audio plugin
to support input and output audio streaming through MCM.

Signed-off-by: Konstantin Ilichev <konstantin.ilichev@intel.com>
* Added a patch for FFmpeg to support MCM.
* Added a function to parse common MCM connection parameters
in video and audio plugins.
* Reordeded parameter definitions.
* Renamed functions and structures related to the video plugin.
* Improved error messages.
* Added license information.

Signed-off-by: Konstantin Ilichev <konstantin.ilichev@intel.com>
@ko80 ko80 requested review from Sakoram, awilczyns and Mionsz August 22, 2024 11:00
ko80 added 2 commits August 27, 2024 21:38
This commit adds the next arguments to the MCM FFmpeg plugin:
* Number of audio channels (1, 2, etc.)
* Sample rate (44.1, 48, or 96 kHz)
* MTL PCM format (16-bit or 24-bit Big Endian)
* MTL packet time

To enable support of PCM 16-bit transmission, the mcm_audio_pcm16
output device has been added to implementation. The patch for the
FFmpeg distribution is updated accordingly.

Some refactoring is done to improve logging and argument ordering.

Signed-off-by: Konstantin Ilichev <konstantin.ilichev@intel.com>
This commit adds description of how to configure and run an audio
transmission via MCM FFmpeg plugin. Argument lists are provided
for MCM connection, video, and audio configurations.

Signed-off-by: Konstantin Ilichev <konstantin.ilichev@intel.com>
@ko80 ko80 force-pushed the dev/add-mcm-ffmpeg-audio-plugin branch from d59611a to c0b89d2 Compare August 27, 2024 23:14
@ko80 ko80 marked this pull request as ready for review August 28, 2024 08:00
Copy link
Collaborator

@tszumski tszumski left a comment

Choose a reason for hiding this comment

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

LGTM

This commit fixes example command lines for running audio streams
and adds some quotes where missed.

Signed-off-by: Konstantin Ilichev <konstantin.ilichev@intel.com>
Copy link
Collaborator

@MateuszGrabuszynski MateuszGrabuszynski left a comment

Choose a reason for hiding this comment

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

LGTM 🚀
Tested with ST30 - PCM16 audio (pcm_s16le), 2 channels, 1ms ptime - works fine.

@ko80 ko80 merged commit d2a7619 into OpenVisualCloud:main Aug 29, 2024
8 checks passed
@MateuszGrabuszynski
Copy link
Collaborator

MateuszGrabuszynski commented Aug 29, 2024

After the PR was merged, I decided to also check the spectrograms of the audio sent and it does seem to be quite distorted. Especially, when ptime=125us is set.
image
In order: Original audio, 125us mode, 1ms mode. Yes, the audio has a mute right channel.

To be investigated further.

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.

4 participants