DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Using Java Stream Gatherers To Improve Stateful Operations
  • Setting Up Data Pipelines With Snowflake Dynamic Tables
  • Interrupt Testing: Bulletproof Your App for the Real World
  • Harnessing Real-Time Insights With Streaming SQL on Kafka

Trending

  • Modern Test Automation With AI (LLM) and Playwright MCP
  • Event-Driven Microservices: How Kafka and RabbitMQ Power Scalable Systems
  • Apple and Anthropic Partner on AI-Powered Vibe-Coding Tool – Public Release TBD
  • Distributed Consensus: Paxos vs. Raft and Modern Implementations
  1. DZone
  2. Coding
  3. JavaScript
  4. How To Use vMix

How To Use vMix

vMix is a software vision mixer available for the Windows operating system and we’ll see how to use vMix for streaming.

By 
Hamit Demir user avatar
Hamit Demir
·
Nov. 16, 20 · Tutorial
Likes (3)
Comment
Save
Tweet
Share
4.0K Views

Join the DZone community and get the full member experience.

Join For Free

What Is vMix?

vMix is a software vision mixer available for the Windows operating system and we’ll see how to use vMix for streaming. vMix is developed by StudioCoast PTY LTD. Like most vision mixing software, it allows users to switch inputs, mix audio, record outputs, and live stream cameras, video files, audio, and more, in resolutions of up to 4K. It can stream up to three destinations at one time. You can do RTMP stream with vMix and watch WebRTC from Ant Media Server.

Let’s see how to use vMix for streaming.

How To Use vMix

vMix is available for Windows only because it is using Direct3D which is exclusively available for Windows. Before learning how to use vMix, you need to install vMix on your computer. Click this link to download the trial version. Then go through installation by double-clicking the installation file.

If you want to run it on Mac, you can do that by installing Windows on a separate partition on your system. This is not running on MacOS, but this is what is suggested by the provider of vMix.

1. Provide Sources

Click the add input button and add some input for the broadcast. As an example, I will be adding a display input.

As you can see my input has been added successfully and its preview can be seen.

But you can do much more with vMix. If you add more than one input, then you can stream more than one stream at a time. Every input has its own destination, so it makes it easier to stream multiple contents with vMix.

2. Configure vMix

  • Click to the gear icon near the stream button on the bottom
  • Choose custom RTMP Server in destination.
  • In the URL box, type your RTMP URL without stream id. It’s like rtmp://your_server_domain_name/LiveApp/
  • In the Stream key, you can write any stream id because we assume that no security option is enabled.
    • If token is enabled you need to add ?token={yourtokenhere}. So it would be like {streamid}?token={yourtokenhere}

3. Tuning

You can use predefined settings but if you click to the gear button next to the quality options, you can tinker with the options.

  • Profile should be baseline and keyframe latency should be 1.
    • You can set keyframe latency to 2 according to network. You can experiment this.
  • You can set your level and your preset according to your configuration but 3.1 and medium presetis good enough for having good quality streams.
    • Presetsthat slower than medium preset puts immense load on the cpu. So, beware of that. Also you get diminishing returns from settings slower presetthan medium.
  • You can enable the hardware encoder for using your GPU in the encoding process.
    • Medium preset cpu encoding most probably would have better video quality but it depends on the gpu architecture that you are using. If you are using last generation gpus, your video quality would be close to the CPU’s medium preset if not better.

4. Start Streaming

After configuring the server and tuning the encoder according to your needs and, you can start the streaming by clicking the stream button at the bottom of the vMix dashboard.

As you can see from the following screenshot, it started to streaming.

And you are publishing with vMix!

You can check https://www.vmix.com/support/training-videos.aspx to get better in vMix.

We tried to explain how to use vMix and we hope this tutorial helped you to get online with vMix.

You have more options for publishing in RTMP. Please check our other guides for publishing in RTMP:

  • Publish with xSplit
  • Publish with Wirecast
  • Publish with OBS
Stream (computing) operating system

Opinions expressed by DZone contributors are their own.

Related

  • Using Java Stream Gatherers To Improve Stateful Operations
  • Setting Up Data Pipelines With Snowflake Dynamic Tables
  • Interrupt Testing: Bulletproof Your App for the Real World
  • Harnessing Real-Time Insights With Streaming SQL on Kafka

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!