BRAW Player for Win

Do you have questions about Desktop Video, Converters, Routers and Monitoring?
  • Author
  • Message
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

BRAW Player for Win

PostTue Jun 04, 2019 9:12 am

After some downtime I discovered I don't have that much time to improve my little braw player project right now so I put up current version for everyone to try. Maybe it is useful for someone, if not for something else then for quick viewing of braw files and their metadata.

Find the install folder .zip here: http://www.kalderafx.com/vfx/brawplayer/

There is a small readme.txt file too, read it to get an overview of what works and what not. If you find a bug (that is not already in readme) or it doesn't work at all, post problem description here.

A bit old video (UI has changed a bit) but shows basic usage of player:


PS. In case someone wants to chat privately about the app or feels like buying me a beer in Paypal, my email is hendrik [at] kalderafx.com
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostTue Jun 04, 2019 10:11 am

Some more information about it (also in readme).

Current version is built against BRAW SDK version 1.3, meaning it should be able to decode newer files also. Currently only CPU decode works, but player automatically changes decoding resolution behind the scenes if viewer size is smaller, so to get faster playback just resize the window. It is also possible to manually set decode resolution using combobox in UI.

INSTALLATION
Just run the application executable. For loading files, File->Open or drag-drop to application window.

USAGE
Play the file and fiddle with settings. If knob is active, values can be changed by scrolling mouse button. To reset a setting, right click on slider.

Press M for metadata overlay, it displays all meta read from file, including dynamically changing meta.
Press D for debug data, it doesn't show much useful though.
Press G for gamut plot. Not useful, also wrong with any other gamut-gamma than linear XYZ.
Press V to toggle through viewer modes: full data, minimal player, video only. Has some layout issues.
Press T to show timecode in playhead TC knob. Might be wrong, check metadata, there is correct tc for frame.

Use mouse scroll button for zooming and left button for panning the viewer. Double-click left button to reset view.

Viewer gain and gamma affect the final decoded image. Decoding precision affects decoder output data format, it is clear that decoder outputs unclipped data in float mode and clipped data in int mode. Viewer LUT combo is just a test, doesn't do anything right.

WHAT WORKS
It opens and plays braw files :D Most of development settings should work, also dynamic data from sidecar files (change "Update from sidecar" to "on every frame" for dynamic data). Dynamic data means that exposure, iso etc (not all, but some properties) can be animated in sidecar. There is little documentation about this feature, bang on BMD-s door for better docs.

WHAT DOES NOT WORK
No audio. No GPU decode (settings are there in decoder device combo but not effective). Might crash randomly. Might do something else wrong. Export of trimmed braw or sidecar do not work yet.

KNOWN BUGS
Drag-drop something else than .braw will crash.
Timecode value shown in knob is sometimes wrong.
Gamut plot is incorrect for anything but linear XYZ.
GPU decode not working.

OTHER STUFF
For customization of UI appearance, fiddle with stylesheet.txt file in application dir.
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostTue Jun 04, 2019 10:23 am

Example of how to use dynamically changing development settings in sidecar file. To get it update in player, set "Update from sidecar" combo (in player settings group) to "On every frame":
Code: Select all
{
    "tone_curve_contrast": 1.500000,
   "tone_curve_saturation": 1.600000,
   "tone_curve_midpoint": 0.300000,
   "tone_curve_highlights": 0.650000,
   "tone_curve_shadows": 2.000000,
    "tone_curve_video_black_level": 1,
   "viewing_gamma": "Blackmagic Design Custom",
   "viewing_gamut": "Blackmagic Design",
   "viewing_bmdgen": 4,
   "exposure": {
        "12:01:40:04": 0.400000,
        "12:01:41:04": 0.600000,
        "12:01:42:04": 0.800000,
        "12:01:43:04": 1.000000,
        "12:01:44:04": 1.200000
   },
   "white_balance_kelvin": {
      "12:01:40:04": 4000,
        "12:01:41:04": 4500,
        "12:01:42:04": 5000,
        "12:01:43:04": 5500
   },
   "white_balance_tint": {
      "12:01:40:04": -20
   },
   "iso": {
      "12:01:40:04": 800
   }
}
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostWed Jun 19, 2019 5:50 pm

I just found out that there might be some additional metadata in braw file that is retrievable on frame level. I'll try to make new version soon and add that also.
I do stuff.
Offline

Cameron Porter

  • Posts: 45
  • Joined: Tue Jun 02, 2015 9:00 pm

Re: BRAW Player for Win

PostMon Jun 24, 2019 8:17 pm

This is a LIFESAVER. Thank you so much!
Offline

Cameron Porter

  • Posts: 45
  • Joined: Tue Jun 02, 2015 9:00 pm

Re: BRAW Player for Win

PostMon Jun 24, 2019 9:33 pm

One of our machines has an AMD graphics card, and when we try to launch we get an error that says nvcuda.dll is missing and it won't launch. We tried just dropping in the dll into the sys32 folder, but now it just says it failed to launch.

Anything obvious I'm missing? Thanks!
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostTue Jun 25, 2019 12:01 pm

Cameron Porter wrote:One of our machines has an AMD graphics card, and when we try to launch we get an error that says nvcuda.dll is missing and it won't launch. We tried just dropping in the dll into the sys32 folder, but now it just says it failed to launch.

Anything obvious I'm missing? Thanks!

I put up new version (find it from same link in first post), try that, hopefully it fixes the error. Some rudimentary GPU compute probing that was happening might have triggered the message.

Whats new in current version:
- Fixed direct .braw file opening bug, now player can be set as default application for loading .braw files;
- Frame level metadata now available;
- Fragment and vertex shaders fully exposed for viewer OpenGL widget, see shaders/ subdir;
- Removed some cuda probing code that might trigger missing cuda lib error with AMD cards (not tested if works though)

Simple path messup bug prevented opening files directly through os by setting player as default application. Fixed the loading and also problems with stylesheet and icons. It should now work as expected.

Frame level metadata exposes some stuff not visible on clip level, mainly frame-processing attributes and also some lens and cam information (aperture, internal_nd, distance, shutter_value etc).

Regarding shaders, as viewer surface is drawn with opengl, user can now use fragment shader to do any image processing one wishes, for example apply custom color transforms and whatnot. Just code them in fragment shader and fire away!
I do stuff.
Offline

Cameron Porter

  • Posts: 45
  • Joined: Tue Jun 02, 2015 9:00 pm

Re: BRAW Player for Win

PostTue Jun 25, 2019 11:35 pm

Thanks again, sir! We'll test it and report the results.
Offline

Cameron Porter

  • Posts: 45
  • Joined: Tue Jun 02, 2015 9:00 pm

Re: BRAW Player for Win

PostTue Jun 25, 2019 11:58 pm

Working great! Thanks again!
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostWed Jun 26, 2019 6:24 am

Cameron Porter wrote:Working great! Thanks again!

It works on that machine with AMD card also? Strange that it didn't work before though, I used sdk methods from example code for detecting if cuda pipeline processing is possible, this shouldn't need to use cuda itself...
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostThu Jun 27, 2019 1:44 pm

Fiddled a bit with viewer shader stuff and made a few new frag shader examples. New version is uploaded and can be found under link in first post (download the latest updated from ftp folder).

And I also made a small demo video where I outline basic functionality and also some more obscure stuff like dynamic metadata in sidecar file and viewer opengl fragment shaders:
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostFri Jun 28, 2019 9:47 am

In case someone is wondering what custom viewer shaders could be useful for, here is a small example. In about ten minutes I wrote a shader for displaying rgb parade overlay:
CropperCapture[306].jpg
CropperCapture[306].jpg (438.23 KiB) Viewed 7439 times


And shader code for anyone interested to try. It contains new uniform value "decoderesolution" which is available in new version uploaded today.
Code: Select all
#version 150 core
uniform sampler2D tex;
uniform vec2 resolution;
uniform vec2 decoderesolution;
uniform float exposure;
uniform float gamma;
uniform int bitdepth;
uniform int lut;
uniform float lutweight;
in vec2 fragTexCoord;

vec4 applyViewerGrade(vec4 basecolor)
{
    vec4 color = basecolor;
   
    // General exposure and gamma adjustments
    color = color * pow(2, exposure);
    color.r = pow(color.r, gamma);
    color.g = pow(color.g, gamma);
    color.b = pow(color.b, gamma);
   
    return color;
}

void main(void)
{
    vec4 color = texture2D(tex, fragTexCoord);
    vec4 finalcolor = color;
   
    float numSteps = decoderesolution.y;
    float stepSize = 1.0 / numSteps;
    for (int y = 0; y < numSteps; y++)
    {
        vec2 uv = vec2(fragTexCoord.x, stepSize * y);
        vec4 sc = texture2D(tex, uv);
        float box = floor((1.0 - fragTexCoord.y) * numSteps) / numSteps;
        if ((floor(sc.r * numSteps) / numSteps) == box)
            finalcolor.r = 1.0;
        if ((floor(sc.g * numSteps) / numSteps) == box)
            finalcolor.g = 1.0;
        if ((floor(sc.b * numSteps) / numSteps) == box)
            finalcolor.b = 1.0;
    }

    // Apply weighting and viewer grade
    gl_FragColor = mix(applyViewerGrade(color), applyViewerGrade(finalcolor), lutweight);
};
I do stuff.
Offline

deezid

  • Posts: 246
  • Joined: Wed Sep 19, 2018 10:38 am
  • Real Name: Dennis Schmitz

Re: BRAW Player for Win

PostFri Jun 28, 2019 3:24 pm

Works perfectly fine on Linux too, using Cuda!
Even in fullscreen.

Set it as default player for Braw, Drag and Drop works as well.

Great work!


Edit:
Is .cube LUT support possible?

Edit2: With the parade turned on it stutters on my machine. Seems to have a strong level of detail - maybe too much :D
Download my 55M Advanced Luts for the Pocket 4K and 6K here:
www.55media.net/55m-p4k-color
Offline

Li Chenghan

  • Posts: 105
  • Joined: Mon Apr 23, 2018 11:47 am
  • Real Name: Li Chenghan

Re: BRAW Player for Win

PostFri Jun 28, 2019 4:46 pm

I don't see the preview and sound on my computer
12-Core AMD Ryzen Threadripper 1920X, 3700 MHz (37 x 100)
Asus ROG Strix X399-E Gaming
GeForce RTX 2070 GAMING Z 8G
G.SKILL DDR4-3200 CL16 32G
Microsoft Windows 10 Pro 1909
Blackmagic Pocket Cinema Camera 4K/BRAW 3:1 5:1
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostSat Jun 29, 2019 6:32 am

deezid wrote:Works perfectly fine on Linux too, using Cuda!
Even in fullscreen.

Set it as default player for Braw, Drag and Drop works as well.

Great work!

Edit:
Is .cube LUT support possible?

Edit2: With the parade turned on it stutters on my machine. Seems to have a strong level of detail - maybe too much :D

I wonder how you run win executable on linux? Cuda decode does nothing, it falls back to cpu.
.cube luts not currently supported, it takes a bit of fiddling to get them working
You can change the parade quantization in shader, see the line where 'decoderesolution' uniform is used and change that value. Something like 100 will give you an idea what it does:
Code: Select all
float numSteps = 100.0;


Li Chenghan wrote:I don't see the preview and sound on my computer

There is no audio decode. What do you mean by preview?
I do stuff.
Offline

deezid

  • Posts: 246
  • Joined: Wed Sep 19, 2018 10:38 am
  • Real Name: Dennis Schmitz

Re: BRAW Player for Win

PostSun Jun 30, 2019 3:43 pm

[quote="Hendrik Proosa]
I wonder how you run win executable on linux? Cuda decode does nothing, it falls back to cpu.
.cube luts not currently supported, it takes a bit of fiddling to get them working
You can change the parade quantization in shader, see the line where 'decoderesolution' uniform is used and change that value. Something like 100 will give you an idea what it does:
Code: Select all
float numSteps = 100.0;
[/quote]

Noticed that Cuda didn't do anything, same speed with CPU and Cuda set.
Running the exe file with Wine and there are no problems to report. It's really fast as well.

The shader code works. Less resolution means faster speeds ;)
Download my 55M Advanced Luts for the Pocket 4K and 6K here:
www.55media.net/55m-p4k-color
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostSun Jun 30, 2019 4:56 pm

Nice to hear it can also play in Linux!

About that parade, as is apparent from shader code, it samples a number of pixels in the same column as output pixel is and that line changed the step size of sampling. In original code it was every decoded line, when it is set lower loop runs faster thus making shader faster. But downside is that not all pixels are sampled anymore. In current code sampling and value binning were also tied, so with lower values, parade columns also got more "boxy".
I do stuff.
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostThu Jul 04, 2019 2:00 pm

WHATS NEW in v0.3.0 (released 190704)
Rudimentary audio playback. There are buffering issues which must be sorted (audio is choppy and cracking) but speech is audible and thus somewhat usable. Audio plays during scrubbing too and conforms to framerate changes (plays slower or faster).

Removed notification about BMD Custom and development settings, it messed up the layout.

---------------------------------------------------------------------------

Other plans:
I want to add RGBA channel toggles but I must use internal draw buffer for this to run another pass through additional viewer shader and it will take some fiddling.

Viewer should ideally zoom to mouse cursor position (currently zoom is from center of image which is annoying), takes some math gymnastics but should be easy to achieve.

GPU decode... been planning this for some time now, must do.
I do stuff.
Offline
User avatar

Ben Slavens

  • Posts: 30
  • Joined: Thu Jun 01, 2017 8:07 am
  • Location: Los Angeles, CA

Re: BRAW Player for Win

PostWed Sep 11, 2019 2:32 am

Hi! Great software. The player is much more feature-rich than Blackmagic's own BRaw Player for Windows. Any plans to keep developing it?
http://Chromatron.Digital
MOBO ASUS m5a99fx pro r2.0
CPU AMD FX-8350
RAM 32GB 1866 DDR3 (non-ecc)
GPU Slot 0 - GTX 1070 Strix 8GB (Compute only)
Slot 1 - GTX 1060 6GB (Display only)
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostThu Sep 12, 2019 8:20 am

Ben Slavens wrote:Hi! Great software. The player is much more feature-rich than Blackmagic's own BRaw Player for Windows. Any plans to keep developing it?

Thank you, nice to hear you like it!

I'm beginning a massive project and unfortunately don't have much spare time, but I'll try to squeeze a few hours in for SDK update some time between today and never 8-)
I do stuff.
Offline

Andhropa

  • Posts: 1
  • Joined: Sat Nov 02, 2019 9:40 am
  • Real Name: Stijn Norga

Re: BRAW Player for Win

PostSat Nov 02, 2019 9:53 am

Hi Hendrik,

Using your great software to watch recently shot footage. Thanks for the rudimentary audio, it is footage of a music recording, so this helps a lot in navigating through many files.

Any chances of the I/O functionality being added in the future? Running Win 7, so i can't install resolve yet :?

At least for now, i can watch and listen to the footage, thanks to you!
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostMon Nov 11, 2019 9:13 pm

Andhropa wrote:Hi Hendrik,

Using your great software to watch recently shot footage. Thanks for the rudimentary audio, it is footage of a music recording, so this helps a lot in navigating through many files.

Any chances of the I/O functionality being added in the future? Running Win 7, so i can't install resolve yet :?

At least for now, i can watch and listen to the footage, thanks to you!

Thank you for kind words, nice to hear you find it useful. Can you describe what you mean by I/O functionality? Transcoding to some other format?
I do stuff.
Offline
User avatar

antoine

  • Posts: 98
  • Joined: Sat Nov 24, 2018 2:20 am
  • Real Name: Antoine Dornstetter

Re: BRAW Player for Win

PostMon Nov 11, 2019 10:52 pm

Congratulations on your BRAW Player Hendrik and thanks for your work !
Import BRAW into Adobe PPro ! https://Autokroma.com/BRAW_Studio/
Offline

Michael Kropfberger

  • Posts: 121
  • Joined: Fri Jan 12, 2018 8:27 pm

Re: BRAW Player for Win

PostMon Nov 18, 2019 4:47 pm

would be great to try out brawplayer_v190604, but fails with "nvcuda.dll"
I have the BRAW SDK 1.5.2 installed, using a Radeon VII GPU.
Intel i7-8700K 3.70Ghz @ 6 cores, 32GB RAM, 1TB M2 SSD (system), 2TB EVO860 SSD (media), 1TB EVO850 SSD (cache), RADEON VII 16GB, Win 10x64 latest
Offline

Hendrik Proosa

  • Posts: 753
  • Joined: Wed Aug 22, 2012 6:53 am
  • Location: Estonia

Re: BRAW Player for Win

PostMon Nov 18, 2019 5:50 pm

Version format is YYMMDD so last version currently is 190704.
I do stuff.
Offline

Michael Kropfberger

  • Posts: 121
  • Joined: Fri Jan 12, 2018 8:27 pm

Re: BRAW Player for Win

PostMon Nov 18, 2019 6:02 pm

me = stupid


works, great!
Intel i7-8700K 3.70Ghz @ 6 cores, 32GB RAM, 1TB M2 SSD (system), 2TB EVO860 SSD (media), 1TB EVO850 SSD (cache), RADEON VII 16GB, Win 10x64 latest

Return to Post Production

Who is online

Users browsing this forum: No registered users and 12 guests