An easy to use in-browser tool for subjective comparison of the visual quality of different encodings of the same video source.
Go to https://vivictorg.github.io/vivict/. By default, it will open a HLS test stream from Sintel video in different bitrates.
The screen is split into two parts, with the left and right part displaying the left and right video source. The split position will follow the mouse, so moving the mouse to the left will show more of the right source and vice versa.
On the top left and right are the source selectors, allowing you to select sources for the left and right video respectively. You can either input a URL or open a local file. If the source is a HLS-playlist, you can also select which video stream you want to view.
It is also possible to load local files with drag-and-drop.
If you want to programmatically change the sources or the playback position, you can use the following URL parameters:
leftVideoUrl
– sets the left video sourcerightVideoUrl
– sets the right video sourceleftVideoVariant
– sets the left video HLS variantrightVideoVariant
– sets the right video HLS variantposition
– sets the start position in secondshideHelp
– if 1, hides the automatic help menuhideSourceSelector
– if 1, hides the source selection menu
To use the parameters, you have to URL-encode the source URL. For example, to load the videos http://example.com/test1.mp4
and http://example.com/test2.mp4
, open the following URL:
http://localhost:3000/?leftVideoUrl=http://example.com/test1.mp4&rightVideoUrl=http://example.com/test2.mp4
l Play video
k Pause video
space Play/Pause video
, Step forward 1 frame
, Step backward 1 frame
/ or - Step forward 1 second
m Step backward 1 second
f Toggle full screen
t Toggle split position follows mouse
] View only left video
[ View only right video
< Decrease timeshift between videos
> Increase timeshift between videos
u Zoom in
i Zoom out
up Pan up
down Pan down
right Pan right
left Pan left
0 Reset pan and zoom to default
s Toggle visibility of split border
esc ? Toggle help window
If you think the shortcuts could be better, feel free to suggest a setup!
Depends on the browser. mp4 and h264 should generally work. h265 should work in safari. AV1 works in firefox.
HLS is supported through hls.js
MPEG-DASH is supported through dash.js
Vivict has been tested in Chrome. Firefox should also.
Vivict can be run locally by checking out the source code and running
npm install
npm start
Note: you might also need to install a few peer dependencies.
There is also a C -based version of offline use available here: https://github.com/vivictorg/vivictpp
Feel free to issue pull requests or file issues. For more details, see CONTRIBUTING
Copyright 2019 Sveriges Television AB.
Vivict is released under the MIT License.
Gustav Grusell https://github.com/grusell/