FAQ - iina/iina GitHub Wiki
- Will there be a Windows/Linux/iOS version?
- Why is the seeking time not precise when pressing arrow keys?
- Is there a frame step function?
- How to adjust speed?
- How to collect log files when reporting an issue?
- How to collect a crash report when reporting an issue?
- How to collect a process sample when reporting an issue?
- What is a release channel?
- What is an IINA nightly build?
IINA uses keyframe seek by default.
To use exact seek, please duplicate the default key binding scheme and change the action for the left/right key to something like
seek 5 relative+exact
as shown in the screenshot below.
Please note that exact seek can be slow when playing large files.
Yes, it's Option+Arrow keys in the default key binding scheme.
Tip: Alternative menu items will be revealed for opened menus while holding the Option key.
Command + Option + [ or ]
When reporting an IINA problem the issue template has a section for including log files. Log files are important evidence for identifying the cause of a problem. By default logging is disabled. Collecting log files involves enabling logging, reproducing the problem, dropping the generated log files into the issue template and disabling logging.
To enable logging follow these instructions:
- Start IINA
- Click on
Settings…
under theIINA
menu - The settings panel appears
- On the left side of the panel click on
Advanced
- Slide the
Enable advanced settings
toggle button to be on (blue) - Click on the checkbox
Enable logging to file
- Confirm the settings panel looks like the screenshot below
- Restart IINA to activate logging
Once IINA has restarted, reproduce the problem. Then:
- Click on
Settings…
under theIINA
menu - The settings panel appears
- On the left side of the panel click on
Advanced
- Click on
Open log directory
- A new
Finder
window appears containing the logs for this session - Quit IINA to complete the log files
The Finder
window contains two files, iina.log
and mpv.log
. To attach the log files to the issue, drag-n-drop them from the Finder
window to the Logs
section of the issue being created. Include both the iina.log
and the mpv.log
files.
DO NOT FORGET to disable logging once you have obtained log files for the problem. IINA does not restrict the size of log files or delete old logs. If you leave logging enabled the logs will continue to accumulate.
The log files can also be accessed using Terminal. They can be found under the directory ~/Library/Logs/com.colliderli.iina
. With logging enabled IINA creates a new log directory each time it is started. If accessing the logs using Terminal
be sure to obtain them from the latest log directory:
low-batt@gag ~$ cd ~/Library/Logs/com.colliderli.iina
low-batt@gag com.colliderli.iina$ ls -la
total 0
drwxr-xr-x 4 low-batt staff 128 Oct 11 16:14 .
drwxr-xr-x@ 21 low-batt staff 672 Mar 30 2023 ..
drwxr-xr-x@ 4 low-batt staff 128 Oct 11 16:14 2024-10-11-16-14-28_4MlDna
drwxr-xr-x@ 4 low-batt staff 128 Oct 11 16:14 2024-10-11-16-14-47_VQOLs4
low-batt@gag com.colliderli.iina$ cd 2024-10-11-16-14-47_VQOLs4
low-batt@gag 2024-10-11-16-14-47_VQOLs4$ ls
iina.log mpv.log
low-batt@gag 2024-10-11-16-14-47_VQOLs4$
If IINA crashes the app will disappear and macOS will display this alert:
When this happens open the macOS Console application found in /Applications/Utilities
. Then on the left side of the Console window click on Crash Reports
. Look for an IINA crash with the date/time the failure occurred:
Right click on the crash report to bring up the context menu and click on Reveal in Finder
:
In the Finder window right click on the crash report file and click on Compress
:
This compresses the ips
file into a zip
file. This is required to be able to post the file to GitHub:
If you are creating a new IINA issue on GitHub you can drag-n-drop the zip
file to the Crash Report or Process Sample
section of the issue before creating it. If the issue has already been created you can drag-n-drop the zip
file to the Add a comment
section and then click on the Comment
button.
Certain types of coding errors can cause a computer application to stop responding to inputs. This type of failure is referred to as a hang. When this happens to an application macOS might display the spinning beach ball of death as the cursor when positioned over the app. This type of problem can sometimes be hard to reproduce. A critical piece of evidence for diagnosing a hang is a process sample.
If entering a GitHub issue to report an IINA hang it is desirable to include a process sample. Once IINA is hung, to generate a process sample first start Terminal. Move to your Documents
directory. Then run this command:
sample -file sample.txt IINA
NOTE: This will overwrite any existing sample.txt
file in Documents
.
The sample
command may take a while to run. Be patient. Wait for it to finish:
low-batt@gag ~$ cd Documents/
low-batt@gag Documents$ sample -file sample.txt IINA
Sampling process 14321 for 10 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Sample analysis of process 14321 written to file sample.txt
low-batt@gag Documents$
To attach the process sample to the issue, open a Finder
window, navigate to your Documents
folder then drag-n-drop the sample.txt
file to the GitHub issue you are creating.
It is also possible to use the Activity Monitor to collect a process sample . To do that instead of using Terminal
, follow these instructions:
- Open
Activity Monitor
in/Applications/Utilities
. - Find IINA in the list of processes displayed by the monitor
- Click on IINA in the
Process Name
column to select that process - Then click on
Sample Process
under theView
menu - A panel will appear titled
Sample of IINA
- Wait for the
Activity Monitor
to finish sampling IINA - When
Activity Monitor
finishes click on theSave…
button and save the report to a file
The IINA issue template requires you to report the "Release Channel".
Channel | Description |
---|---|
Release | An official IINA release downloaded from the IINA web site or installed using brew. |
Beta | An official IINA Beta pre-release. |
Nightly | An official IINA nightly build downloaded using the IINA Nightly builds page. See: What is an IINA nightly build? |
Other | Normally you should be reporting problem against the above official builds, but this could be your own build of IINA's develop branch. By default that is a Debug build. |
Not Sure | Find to use this if you are unsure, but see below for how to tell what kind of release you have. |
There are various ways you can identify what kind of IINA release you are running.
The application icon reflects the release channel:
Release | Beta | Nightly | Debug |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
If in IINA's settings on the General
tab in the Behavior
section the At launch
setting is set to Show welcome window
then when IINA starts up the welcome window will be displayed. If this is something other than the official release there will be an indication on the welcome window:
Clicking on About IINA
under the IINA
menu will display the about panel. If this is something other than the official release there will be an indication on the about panel:
Clicking on Log Viewer
under the Window
menu will display the Log Viewer
window. As long as the log level is set to Debug
or Verbose
the first log message displayed will contain an indication in that log message:
The Optional Actions
section at the bottom of the IINA issue template contains this checkbox:
I tested with the Nightly build and confirmed the issue is not fixed.
This is about checking to see if developers have already fixed the problem. This is optional. It is fine to enter the issue without performing this check. If you want to know about nightly builds read on…
The bottom of the downloads page on the IINA web site contains a link to Nightly Builds. Nightly build is a dated term from when computers were not as powerful and companies would run builds late at night when employees where not using the computers. The IINA nightly build is actually a result of a continuous integration build. After a proposed change to IINA passes review the source changes are merged into the develop branch of source control. This triggers a build. Thus the latest IINA nightly build represents the current state of IINA development.
The review process is supposed to prevent new problems from being introduced, but the nightly build does not benefit from the extra testing that is done for IINA stable releases and IINA beta releases. This is why in the Downloading section IINA's README contains this caution:
Nightly builds are generated by GitHub automatically for every commits, which might be buggy and unusable. If you find a bug, please follow the contributing section and file an issue.
The Nightly Builds page contains this note:
Nightly builds are built by GitHub Actions based on each new commit on the develop branch. You may need to login on GitHub to download a nightly build. They are not signed, so you need to manually change your system security settings to use nightly builds.
That last sentence is important. IINA stable releases and IINA beta releases are signed and notarized, whereas nightly builds are not. Code signing ties the code to an author and guarantees that the code has not been altered or corrupted since it was signed. From App code signing process in macOS:
…all apps distributed outside the App Store must be signed by the developer using an Apple-issued Developer ID certificate (combined with a private key) and notarized by Apple to run under the default Gatekeeper settings.
Gatekeeper is the macOS security technology that verifies an app as been signed and notarized when you open it. To open an unsigned app you must instruct Gatekeeper to allow it to be opened. You should only do this if you downloaded the app from a location you trust and it is expected that the app is unsigned.
It used to be easy to instruct Gatekeeper to allow an app to be opened. In macOS Sequoia Apple added steps to ensure users are not accidentally by-passing Gatekeeper. Follow these instructions to run an IINA nightly build under macOS Sequoia:
On IINA's Nightly Builds page click on the Download on GitHub
link of the latest build. You may need to log into GitHub. This will download an IINA.zip
file. Double click on the zip
file to extract the IINA app file:
Once the app has been extracted from the zip
file double click on it to open IINA. Instead of opening macOS will put up this alert:
Click on Done
to dismiss it. Under the menu click on System Settings…
. In the settings window on the left side click on Privacy & Security
. On the right side scroll down to the bottom. Under Security
look for an entry that indicates "IINA.app" was blocked:
Click on Open Anyway
. An alert will be shown asking if you really wanted to do that:
Click on Open Anyway
. Again. If you are not running under an administrator account macOS will prompt for an administrator's credentials to allow this:
Enter the credentials and click Ok
. IINA will start up. If later you download a different nightly build you will have to repeat this process to allow that IINA build to run.
Note
Running an unsigned IINA build such as a nightly build or your own build will
cause macOS to clear the short list of recent documents IINA opened. This is the list seen on the Welcome Window
(if enabled) and in the Open Recent
menu item under the File
menu. It is not known at this time why Apple thought it was appropriate to delete the user's data without permission like this.