1Bino(1)                           Version 2.1                          Bino(1)
2
3
4

Overview

6       Bino is a video player with a focus on 3D and Virtual Reality:
7
8       • Support for stereoscopic 3D videos in various formats
9
10       • Support for 360° and 180° videos, with and without stereoscopic 3D
11
12       • Support  for  Virtual Reality environments, including SteamVR, CAVEs,
13         powerwalls, and other multi-display / multi-GPU / multi-host systems
14

Invocation

16       bino [options] URL...
17
18-h, --help
19
20         Displays help on commandline options.
21
22--help-all
23
24         Displays help including Qt specific options.
25
26-v, --version
27
28         Displays version information.
29
30--log-level level
31
32         Set log level (fatal, warning, info, debug, firehose).
33
34--log-file file
35
36         Set log file.
37
38--read-commands script
39
40         Read commands from a script file.  See Scripting.
41
42--opengles
43
44         Use OpenGL ES instead of Desktop OpenGL.
45
46--stereo
47
48         Use OpenGL quad-buffered stereo in GUI mode.
49
50--vr
51
52         Start in Vitrual Reality mode instead of GUI mode.  See Virtual Real‐
53         ity.
54
55--vr-screen screen
56
57         Set VR screen geometry, either as a comma-separated list of nine val‐
58         ues representing three 3D coordinates that  define  a  planar  screen
59         (bottom  left,  bottom  right,  top left) or as a name of an OBJ file
60         that contains the screen geometry with texture coordinates.
61
62--capture
63
64         Capture video/audio input from camera and microphone.
65
66--list-audio-outputs
67
68         List audio outputs.
69
70--list-audio-inputs
71
72         List audio inputs.
73
74--list-video-inputs
75
76         List video inputs.
77
78--audio-output ao
79
80         Choose audio output via its index.
81
82--audio-input ai
83
84         Choose audio input via its index.  Can be empty.
85
86--video-input vi
87
88         Choose video input via its index.
89
90--list-tracks
91
92         List all video, audio and subtitle tracks in the media.
93
94--preferred-audio lang
95
96         Set preferred audio track language (en, de, fr, ...).
97
98--preferred-subtitle lang
99
100         Set preferred subtitle track language (en, de, fr, ...).  Can be emp‐
101         ty.
102
103--video-track track
104
105         Choose video track via its index.
106
107--audio-track track
108
109         Choose audio track via its index.
110
111--subtitle-track track
112
113         Choose subtitle track via its index.  Can be empty.
114
115-i, --input mode
116
117         Set  input  mode (mono, top-bottom, top-bottom-half, bottom-top, bot‐
118         tom-top-half, left-right,  left-right-half,  right-left,  right-left-
119         half, alternating-left-right, alternating-right-left).
120
121-o, --output mode
122
123         Set  output  mode (left, right, stereo, alternating, red-cyan-dubois,
124         red-cyan-full-color, red-cyan-half-color, red-cyan-monochrome, green-
125         magenta-dubois,  green-magenta-full-color,  green-magenta-half-color,
126         green-magenta-monochrome,  amber-blue-dubois,  amber-blue-full-color,
127         amber-blue-half-color,  amber-blue-monochrome,  red-green-monochrome,
128         red-blue-monochrome, even-odd-rows, even-odd-columns, checkerboard).
129
130--surround mode
131
132         Set surround mode (360, 180, off).
133
134-S, --swap-eyes
135
136         Swap left/right eye.
137
138-f, --fullscreen
139
140         Start in fullscreen mode.
141

Scripting

143       Bino can read commands from a script file and execute them via the  op‐
144       tion  --read-commands  scriptfile.   This works both in GUI mode and in
145       Virtual Reality mode.
146
147       The script file can also be a named pipe so that you can have arbitraty
148       remote control interfaces write commands into it as they come in.
149
150       Empty  lines  and  comment lines (which begin with #) are ignored.  The
151       following commands are supported:
152
153open [--input mode] [--surround mode]  [--video-track  vt]  [--audio-
154         track at] [--subtitle-track st] URL
155
156         Open the URL and start playing.  The options have the same meaning as
157         the corresponding command line options.
158
159capture [--audio-input ai] [--video-input vi]
160
161         Start capturing camera and microphone.  The  options  have  the  same
162         meaning as the corresponding command line options.
163
164play
165
166         Start playing.
167
168pause
169
170         Pause.
171
172toggle-pause
173
174         Switch between pause and play.
175
176stop
177
178         Stop playing.
179
180playlist-next
181
182         Switch to next playlist entry.
183
184playlist-prev
185
186         Switch to previous playlist entry.
187
188playlist-loop mode
189
190         Set loop mode (off, one, all).
191
192quit
193
194         Quit Bino.
195
196set-position p
197
198         Set  the  video  position to p, where p=0 is the beginning and p=1 is
199         the end.
200
201seek seconds
202
203         Seek the given amounts of seconds forward or, if the number  of  sec‐
204         onds is negative, backwards.
205
206wait stop|seconds
207
208         Wait  until the video stops, or wait for the given number of seconds,
209         before executing the next command.
210
211set-mute on|off
212
213         Set the volume mute status.
214
215toggle-mute
216
217         Switch between mute and unmute.
218
219set-volume vol
220
221         Set the volume level to vol (between 0 and 1).
222
223adjust-volume offset
224
225         Adjust the volume by the given amount (the final  volume  is  clamped
226         between 0 and 1).
227
228set-output-mode mode
229
230         Set  the given output mode.  See the command line option --output for
231         a list of modes.
232
233set-swap-eyes on|off
234
235         Set left/right eye swap.
236
237toggle-swap-eyes
238
239         Toggle left/right eye swap.
240
241set-fullscreen on|off
242
243         Set fullscreen mode.
244
245toggle-fullscreen
246
247         Toggle fullscreen mode.
248

File Name Conventions

250       Bino currently cannot detect the stereoscopic layout  or  the  surround
251       video  mode from metadata because Qt does not provide that information.
252       It therefore has to guess.
253
254       Bino recognizes the following hints at the last part of the file  name,
255       just before the file name extension (.ext):
256
257*-tb.ext, *-ab.ext: Input mode top-bottom
258
259*-tbh.ext, *-abq.ext: Input mode top-bottom-half
260
261*-bt.ext, *-ba.ext: Input mode bottom-top
262
263*-bth.ext, *-baq.ext: Input mode bottom-top-half
264
265*-lr.ext: Input mode left-right
266
267*-lrh.ext, *-lrq.ext: Input mode left-right-half
268
269*-rl.ext: Input mode right-left
270
271*-rlh.ext, *-rlq.ext: Input mode right-left-half
272
273*-2d.ext: Input mode mono
274
275       Additionally,  if  the  number  180 or 360 is part of the file name and
276       separated by neighboring digits or letters by  other  characters,  then
277       the corresponding surround mode is assumed.
278

Virtual Reality

280       Bino  supports  all  sorts  of  Virtual  Reality  environments  via QVR
281       (https://marlam.de/qvr):
282
283       • When QVR is compiled with just with Qt6,  CAVEs  and  powerwalls  and
284         similar  multi-display  setups are supported, including multi-GPU and
285         multi-host rendering.
286
287       • When     QVR     is     additionally     compiled      with      VRPN
288         (https://github.com/vrpn/vrpn), all sorts of tracking and interaction
289         hardware for such systems are supported.
290
291       • When     QVR     is     additionally     compiled     with     OpenVR
292         (https://github.com/ValveSoftware/openvr),  SteamVR  is supported and
293         automatically detected (e.g. HTC Vive).
294
295       To start Bino in VR mode, use the option --vr.  Bino will then  display
296       a  screen in the virtual world, and the video will be displayed on that
297       screen, unless the input is a surround video (360° or 180°), which will
298       of course be displayed all around the viewer.
299
300       The  default is a 16:9 screen in a few meters distance from the viewer,
301       but you can use the --vr-screen option to either define arbitrary  pla‐
302       nar  screens  via their bottom left, bottom right and top left corners,
303       or to load arbitrary screen geometry from an OBJ file.  The latter case
304       is  useful  e.g. if  you  want Bino’s virtual screen to coincide with a
305       curved physical screen.
306
307       Bino uses QVRs default navigation, which may be based  on  autodetected
308       controllers such as the HTC Vive controllers, or on tracking and inter‐
309       action hardware configured via QVR for your VR system, or on the  mouse
310       and WASDQE keys if nothing else is available.
311
312       Additional interaction in VR mode is currently limited to the same key‐
313       board shortcuts that also work in GUI mode.  That means  you  currently
314       must  specify the video to play on the command line, and have no way to
315       pause, skip or seek – this will be added in a future version.
316
317
318
319                               February 1, 2023                        Bino(1)
Impressum