
Apple TV screen mirroring
This page contains the user manual for alfacast application. This complete instruction is useful for people who want to learn how to use alfacast screen mirror app on tvOS. To use Apple TV screen mirroring feature with alfacast app, you need Apple TV set-top box device. Your device must have Apple tvOS operating system installed.
Alfacast is a screen mirroring app with streaming and viewing features. For the best understanding of this user manual, whenever the Apple TV screen mirroring feature is mentioned, it means alfacast app is used to mirror the screen on your Apple TV device. You can find more detailed info about alfacast app on Home page. In this user manual we will show you how to use the application and tell you about its main functions.
We use customized source code of GStreamer (https://gitlab.freedesktop.org/alfacast.net/gstreamer.tvos) project for Apple tvOS device.
Main app features
Our Apple TV screen mirroring solution is available in two versions. There are two separate versions of alfacast application: regular (alfacast) and extended (alfacast x). Below is a list of the app’s main features:
• Playback of audio and video content from single channel and multichannel streamers.
• Connection via Wi-Fi or Ethernet network interface.
• Screen viewer within local area network.
• Serverless single channel peer-to-peer technology.
• Serverless multichannel peer-to-many technology.
• Low latency playback. This feature is only available in the extended version of the app.
• Video viewer up to SD quality and 30 FPS in the regular app version.
• Video viewer up to 4K Ultra HD quality and 60 FPS in the extended app version.
• Automatic discovery of users on the local network.
• Secure connection with end-to-end AES-128 encryption technology in the regular app version.
• More secure connection with end-to-end AES-256 encryption technology in the extended app version.
The extended version of the application differs from the regular version by its more advanced functionality and capabilities. Everything described here applies to both versions of the application (regular and extended), unless the different behavior of the two versions is explicitly described. More detailed information about the differences between the two versions of the app will be provided later in this user guide.
System requirements
Please note, alfacast app has some requirements to use the Apple TV screen mirroring feature:
• Apple tvOS operating system with minimum version 13.0.
• Minimum RAM size: 1 GB. Recommended RAM size: 4 GB.
• Minimum CPU: 1.5 GHz dual-core. Recommended CPU: 2.5 GHz quad-core.
• Minimum display resolution 1280×720 pixels.
• Minimum 100 Mbps router. Recommended 1 Gbps 5 GHz Wi-Fi router.
• Supported CPU architectures: ARM64.
• Minimum 50 MB disk space.
• Support IPv4 networks only.
• The devices should be connected to the same network.
• The operating system must support the following video codecs: H.264, H.265, VP8, VP9 (hardware accelerated or software).
4K Ultra HD resolution and 60 FPS requirements
Please check the following points to ensure proper support for 4K Ultra HD Apple TV screen mirroring on your devices:
• Extended version of application on streamer and viewer side.
• Display with 4K Ultra HD resolution and 60 Hz on streamer side.
• Hardware accelerated H.264, H.265, VP8, VP9 video codec with 4K Ultra HD support.
• The final video stream resolution and refresh rate depends from the maximum resolution and refresh rate of streamer’s display, current video codec configuration and network bandwidth.
The application supports
For a better understanding, we provide the following list of features that our application supports:
• Playback audio and video on the side of the viewer.
• Screen viewing only, no streaming support.
• Secure connection with end-to-end encryption.
• Display current streaming information.
• Automatic users discovery in the local area network.
• Apple TV screen mirroring with a local network connection only.
The application does not support
To avoid any misunderstandings, we provide the following list of what our application does not support:
• Alfacast is not DLNA™, UPnP™ media render or media server.
• Alfacast is not Apple AirPlay™ receiver or transmitter.
• Alfacast is not Google Chromecast™ receiver or transmitter.
• Alfacast is not Miracast™ receiver or transmitter.
Alfacast is an independent Apple TV screen mirroring application based on proprietary streaming technology. As a result, the user has to install alfacast app on both sides: on the streamer and on the viewer devices.
Installing and uninstalling the app
As we mentioned earlier, our Apple TV screen mirroring solution is available in two separate app versions. You can find current links to the application on our Downloads page.

Figure 1. Alfacast application icons for Apple TV.
The regular (left) and extended (right) versions
Figure 1 shows two app icons. On the left is the icon for the regular version of the “alfacast” app. On the right is the icon for the extended version of the “alfacast x” app. The application is available in the standard Applications list on your Apple TV device immediately after successful installation.
The application is removed in the usual manner for an Apple TV device. Press and hold the Select button on your remote control, a pop-up menu will appear. After this, select the menu item Delete App. The application will be removed.
Launching the application
Please tap on the application icon from the Applications list and launch it. On launch the application, it will initialize and you will see the window shown in the following figure.

Figure 2. Application splash screen window
After some time, the window will show the main controls. Main application window displays the streaming devices found on the local network in a special area, see the following figure.

Figure 3. Main application window
The Main application window contains the following controls:
1 – Display area of discovered network nodes. List of network nodes with streamer functionality.
2 – Current status of the application with activity indicator. The values for this field can be:
• “Initializing…” – the application is in the initialization state.
• “Please wait…” – need to wait for some time.
• “No connection” – there is no network connection on your Apple TV device.
• “Discovery…” – the application is ready to work and is discovering all network nodes within the local network.
3 – Options button. Show and hide options menu.
4 – Network node icon with name – “Apple iPad Air“.
5 – Network node icon with name – “Apple MacBook Pro“.
6 – Letter logo for the application.
7 – Multichannel streamer mode indicator. This indicator always appears on network nodes with enabled multichannel streaming mode.
In this manual we will use the concept of a network node – this is a network host on which alfacast application is running. Alfacast is both a streaming and a viewing app. Accordingly, each network node may have either the streaming function, the viewing function, or both functions available. Apple TV based network nodes support only viewing functions to provide Apple TV screen mirroring functionality.
Navigation in the application is carried out in the standard way, as on any device based on the Apple TV. Typically, any Apple TV remote control has the following main buttons: D-pad (left, right, up, down), Select button in the center of the D-pad and Back button. The Back button on your remote control is used to exit the current window.
After starting, the application immediately tries to detect all network interfaces and start the network node discovery process on each network interface. If no network interfaces are detected, you will see the corresponding application status – “No connection“. In this case, you should provide at least one network interface to start the network node discovery process. Please connect to the Wi-Fi router or use wired connection between router and your Apple TV device. If the network interface is present, the application will change its status to – “Discovery…“. The “Discovery…” status means that network discovery is currently in progress. The discovery process is typically quick and takes no more than 30 seconds.
To display the application’s Options menu, click the Options button. After clicking the Options button, the Options window will appear, see the following image.

Figure 4. Options window with menu
The Options menu contains the following controls:
1 – Option icon, option name and short description of the option.
2 – 4K Ultra HD switch button. This button is used to review with the extended version of the application.
3 – Settings button. The button opens a window with the application settings.
4 – Instruction button. The button opens a window with instructions for the application.
5 – About button. The button opens a window with information about the application.
6 – Cancel button. Click this button to close the current window.
Each window associated with application options or settings is accompanied by an icon, the name of the option, and a short description of the option.
The 4K Ultra HD switch button is a reminder that there is a more advanced, extended version of the app. This button is only available in the regular version of the app and is hidden in the extended version. Click this button to see options for switching to the extended version of the application.
For more information on how the Instruction button and About button works, please refer to the App instruction and About sections. The Settings button is described in the App settings section.
The display area of discovered network nodes will reflect all detected network nodes with steaming function. In simple terms, these are streamers on your local network. To start the Apple TV screen mirroring process, you need to select a network node from this area. Click on any network node to start the playback process.
The Multichannel streamer mode indicator is displayed if the network node has enabled multichannel streaming mode.
In addition to the current application status, there is a mini application status. This mini status is displayed at the bottom right corner of the Main application window, see the picture below.

Figure 5. App mini status
The application’s mini status graphically explains what is currently happening, making it easier to understand the current status. Mini status is displayed in the following cases:
• The application is initializing.
• An operation is taking place that requires some time to wait.
• There is no network connection.
If you switch to another application or send the application to the background by pressing the Back button on remote control, the app will free up memory and move to the background.
Below we provide a description with the minimum set of steps to start viewing on your Apple TV device.
Steps for screen viewing
To start viewing remote display with Apple TV screen mirroring feature, please follow the steps below on your viewing device:
• Download alfacast application on your devices.
• Connect your devices to the same network.
• Run alfacast application on your devices.
• Wait end of the discovery process (approximately 15-30 seconds).
• Select the required streamer from the list and wait end of the connection process.
• Now you will view remote screen.
Screen streaming
Our Apple TV screen mirroring app supports only viewing mode, because Apple tvOS does not support capturing video from screen for third party apps. Apple tvOS supports streaming video mode only from its own app content. The content in this app is a remote desktop screen of another device. Therefore, given the limitations mentioned above, the broadcasting feature in this app is meaningless.
Screen viewing
To start viewing content from a remote screen, you have to select a network node in the Main application window. After selecting a network node please press Select button on your remote control, a Playback window will open, see below.

Figure 6. Playback window
At the connection stage, the Playback window contains the following elements:
1 – Network node name. Remote host alfaname or user name.
2 – Activity indicator.
3 – Current connection status. The values for this field can be:
• “Connecting…” – the process of connecting to a network node is in progress.
• “Buffering…” – the data buffering process is in progress.
• “Disconnecting…” – the process of disconnecting is in progress.
4 – Letter logo for the application.
5 – Network node avatar image.
We have shown above the appearance of the Playback window before the content playback process starts. All of the above elements are static and serve to display the current state of the connection. If the connection cannot be established within one minute, the playback window closes automatically. If the connection is successfully established, controls will become available in the Playback window, see below.

Figure 7. Playback window after successful connection
At the playback stage, the Playback window contains the following controls:
1 – Network node name and remote screen source name.
2 – Currently selected channel.
3 – Current video stream resolution.
4 – Current encryption method.
5 – Network node avatar image.
6 – Content from a remote screen. Playing video content is the main purpose of the Playback window.
7 – Current bitrate of the stream.
8 – Current connection time.
9 – Close button. The button terminates the outgoing connection.
10 – Aspect ratio button. The video aspect ratio value changes after each press in a circle. Video aspect ratio values can be as follows:
• “Default” – do not change the video aspect ratio, use the same aspect ratio as on the remote screen.
• “Stretch” – the video aspect ratio will be the same as the aspect ratio of the Playback window.
• “16:9” – video aspect ratio 16:9.
• “16:10” – video aspect ratio 16:10.
• “21:9” – video aspect ratio 21:9.
• “1:1” – video aspect ratio 1:1.
• “2:1” – video aspect ratio 2:1.
• “4:3” – video aspect ratio 4:3.
• “5:4” – video aspect ratio 5:4.
• “3:2” – video aspect ratio 3:2.
11 – Scale button. The video scale value changes after each press in a circle. Video scale values can be as follows:
• “No scale” – do not scale the video image.
• “Crop” – an automatic video image cropping mode. It crops the video image based on the window size and aspect ratio of the original video frame: horizontally or vertically.
• “Horizontal” – crops the video image horizontally.
• “Vertical” – crops the video image vertically.
• “100 %” – 100 percent of the original video image.
• “125 %” – 125 percent of the original video image.
• “150 %” – 150 percent of the original video image.
• “200 %” – 200 percent of the original video image.
• “250 %” – 250 percent of the original video image.
• “300 %” – 300 percent of the original video image.
• “400 %” – 400 percent of the original video image.
• “25 %” – 25 percent of the original video image.
• “50 %” – 50 percent of the original video image.
• “75 %” – 75 percent of the original video image.
12 – Picture button. Video image adjustment button. Clicking this button opens a window with elements for adjusting the video image.
13 – Get low latency button. This button is used to review with the extended version of the application.
To finish the current playback session, simply click the Close button, this will automatically disconnect you from the streamer. Pressing the Back button on your remote control will perform the same action.
The elements 1, 2, 3, 4, 7, 8 display all the necessary information about the stream. These are: source info, current video resolution, encryption method, current bitrate and connection time. This information is updated once per second.
To ensure a comfortable viewing experience when you use the Apple TV screen mirroring feature, we provide the following additional controls in the Playback window.
The Picture button shows additional elements where you can adjust the video image by: brightness, contrast, saturation or hue. Click on this button and the application will show additional elements as shown in the image below.

Figure 8. Picture adjustments elements
The Picture adjustments elements contain the following components:
1 – Buttons for setting the brightness of the video image and the current brightness value.
2 – Buttons for setting the contrast of the video image and the current contrast value.
3 – Buttons for setting the saturation of the video image and the current saturation value.
4 – Buttons for setting the hue of the video image and the current hue value.
You can adjust the video image levels using the buttons. Video picture settings are saved and applied to subsequent playback sessions.
Click the Aspect ratio button to give the video image the shape you need. The Aspect ratio button changes the aspect ratio of the currently playing video frame. To understand how it works, try using it: click several times and you will see the effect on the displayed video image.
To scale the video frame image, use the Scale button. This button allows you to zoom in, zoom out or crop the video image. Similarly, to understand how it works, try using it: click several times and you will see the effect on the displayed video image.
The settings for these two values (scale and aspect ratio) are not stored and are set to default when starting a new video playback session.
The Get low latency button is only available in the regular version of the app and is hidden in the extended version. Click this button to see options for switching to the extended version of the application.
If the streamer is in single channel mode, the main channel is selected for connection. If the streamer is in multichannel mode, you will be prompted to select a channel at the connection establishment stage, see the next window.

Figure 9. Channels list window
The Channels list window contains the following controls:
1 – List of channels to select.
2 – Cancel button. Click this button to close the current window.
First, select the channel you need in the list. Then click by selected item. After this, the connection with your streamer begins in the same way as described earlier. If you want to cancel the connection, simply press Back button on your remote control or press Cancel button.
App instruction
There is a built-in instruction in the app. It is a short guide to understanding how to use the app. This instruction describes how to use Apple TV screen mirroring feature, including the basic steps to viewing content from a remote screen. To display the Instruction window, press Instruction button in the Options menu or press on network node icon with “No streamers” label.

Figure 10. Instruction window
Please read the instruction before using the application. This instruction will cover some of the issues on using the Apple TV screen mirroring feature and how to fix them.
App settings
Today it is difficult to imagine the Apple TV screen mirroring function without settings. To fine-tune the application to your needs, use the Settings window. Click the Settings button in the Options menu to open the window.

Figure 11. Settings window
The Settings window contains the following elements:
1 – Settings icon, setting name and short description of the setting.
2 – Playback method option. This option sets the delay time during playback.
3 – Video decoder option. List of video decoders for user selection.
4 – Cancel button. Click this button to close the current window.
The Settings window is simple to navigate: select the desired option, and the app will display a separate window for that option. Then, select the desired value of the option from the list and press the Select button on your remote control. If you do not want to save the currently selected option value, simply press the Back button on your remote control or press Cancel button. The icon on the left side of each window serves as a tooltip for the current setting. Next to the icon is the name of the option and a short description or the required actions.
The Playback method option can be used to reduce or increase the delay time between the streaming device and the viewer. Click on the Playback method option to display the following Playback method window.

Figure 12. Playback method window
The Playback method window contains the following elements:
1 – No buffer delay. Minimum latency without buffering.
2 – List of playback delay values.
3 – Cancel button. Click this button to close the current window.
The delay time is adjustable from 0 (No buffer) to 3000 milliseconds (3 seconds). This is an approximate delay time. We recommend using a 500 milliseconds buffer. The No buffer option provides minimal delay between the broadcasting and viewing devices, but synchronization problems and other audio and video artifacts may appear. In the regular version of the application, this option is always set to 3000 milliseconds.
The Video decoder option displays the video decoders supported by the application and the Apple tvOS. Click on the Video decoder option to display the following Video decoder window.

Figure 13. Video decoder window
The Playback method window contains the following elements:
1 – Automatic best option.
2 – List of video decoders.
3 – Cancel button. Click this button to close the current window.
You can select any video decoder from the list and evaluate the image quality and bitrate of the stream. If you select a video decoder that is supported by your Apple TV device, but there is no similar video encoder on the streamer side, the application on the streamer side will automatically select the video encoder. In any case, the application automatically selects a video encoder on the streamer’s side. The figure above shows the list of video decoders for this specific device model. Each device will have its own list of video decoders. The regular version of the application limits this value to SD quality (768×768) with a frequency of 30 Hz. The extended version of the application allows viewing content up to 4K Ultra HD (3840×2160) quality with a frequency of 60 Hz.
About
Information about the program can be found in the About window. To display the About window, press About button in the Options menu. We provide the following information about our Apple TV screen mirroring app: version, information about our project and website address. We also provide information about the open source libraries used, authors, and the text of the open source licenses.

Figure 14. About window
Please read the program information if you are interested in details about our software.
Conclusion
We have fully described and reviewed alfacast application. Overall, the application is intuitive and easy to use. Alfacast app for Apple TV screen mirroring offers a wide range of features and functionality. There is audio and video playback function. The connection is encrypted and secure. The extended version of the application has high quality video streaming feature up to 4K Ultra HD, it has low latency playback, more secure connection and other benefits. If you want to learn more about the application, you can watch the video on our YouTube channel.