Giter Club home page Giter Club logo

Comments (10)

d3cod3 avatar d3cod3 commented on July 28, 2024 1

Ok, halway to a new standard for Mosaic video players, i've just added ofxHapPlayer to ofxVisualProgramming and Mosaic, and modified the video player object in order to work with that. The Hap codec is cross-compatible osx/linux/windows and we are finally free of the frequent issues ofVideoPlayer/OF related.

I've just tested it on osx and it work perfect! Now it's linux turn, i'm on it.

More info about Hap codec:

https://hap.video/using-hap.html

https://github.com/Vidvox/hap-in-avfoundation/releases

So, starting from Mosaic 0.5.0, if everything works in linux and windows too, this will be the standard encoding to work with, for video files. No more codecs incompatibilities, no more strange issues, same video file, will work on every Mosaic compatible OS.

More news soon

from mosaic.

d3cod3 avatar d3cod3 commented on July 28, 2024

Hi, thanks for your interest in this project!
About the symlink issue, i can't get to it right now, but i can point you where to check if it's an easy fix, the files regarding the file browser are here:
https://github.com/d3cod3/ofxVisualProgramming/tree/master/src/core/FileBrowser

Specifically you'll need to look at this file:
https://github.com/d3cod3/ofxVisualProgramming/blob/master/src/core/FileBrowser/ImGuiFileBrowser.cpp

at this method here: https://github.com/d3cod3/ofxVisualProgramming/blob/7328c8605d1474cd5831e811537a1f138315d91f/src/core/FileBrowser/ImGuiFileBrowser.cpp#L789

the onNavigationButtonClick , where the filepath is stored on click, so basically what need to be implemented is:

1 - detect if we clicked on a file or on a symlink
2 - if we clicked on a file, just do what is it doing now
3 - if we clicked on a symlink, store the filepath pointing to, not the path of the symlink

I think the lines where to apply this fix are here:

https://github.com/d3cod3/ofxVisualProgramming/blob/7328c8605d1474cd5831e811537a1f138315d91f/src/core/FileBrowser/ImGuiFileBrowser.cpp#L814

and here

https://github.com/d3cod3/ofxVisualProgramming/blob/7328c8605d1474cd5831e811537a1f138315d91f/src/core/FileBrowser/ImGuiFileBrowser.cpp#L817

Let me know if you find a solution, in the meantime i will check it too, as soon as possible.

from mosaic.

Daandelange avatar Daandelange commented on July 28, 2024

Hey, thanks for testing Mosaic, I hope you find your way in Mosaic. :)

I think there's 2 aspects to this issue:

  • The one pointed out by @d3cod3 . In my case the symlinked directory symlinkTestDir doesn't display in the imguifilebrowser.
  • Then the drag'n'drop feature.
    I created a symlink using ln -s ~/my/superb/and/real/path/to/my/Folder ~/symlinkTestDir.
    Drag'n'dropping an image file from file browser's symlinked folder to Mosaic works on my config. [Mint 20 (similar to Ubuntu 20?)].

from mosaic.

RKelln avatar RKelln commented on July 28, 2024

Thanks for the quick replies. I should have time to take a look this weekend and I can test out functionality by just making non-symlinked copies of assets in the meantime.
I'm on Ubuntu 18.04, let me test drag n drop again. You were dropping to the assets manager?
...
OK, weird, tried a different mp4 file and it did appear (yay!) and I hit play (on the video in the asset manager) then got:

*** buffer overflow detected ***: ./Mosaic terminated
Aborted (core dumped)

So I tried another and it worked! Worse bug report ever. Let me see if I can put together some test cases and submit some actionable reports this weekend.

from mosaic.

d3cod3 avatar d3cod3 commented on July 28, 2024

You can just drop it anywhere on the patch canvas.

About the errors, not every video codec is supported by Mosaic, for more info you'll need to check openFrameworks, about video codec compatibility and stuff, as the Mosaic video player use the internal OF video player mechanism.

from mosaic.

Daandelange avatar Daandelange commented on July 28, 2024

It could be nice to reference crashing video formats. At least Mosaic should not crash when loading a wrong codec.

from mosaic.

d3cod3 avatar d3cod3 commented on July 28, 2024

I've checked that possibility ( not crashing with wrong codec ), but it will need to modify the OF ofVideoPlayer core code, so alter the OF source.
Specifically, OF is using gstreamer on linux ( libgstreamer1.0-dev ), avfoundation on osx and directshow on windows
For what i've tested, video exports on on system usually don't work on another, even using the same codecs, defintely the issue needs some more looking into it.

from mosaic.

Daandelange avatar Daandelange commented on July 28, 2024

Awesome, good job !
HAP can be lossless or compressed, plus multi-platform support makes it perfect :)

from mosaic.

d3cod3 avatar d3cod3 commented on July 28, 2024

Linux ( just tested ubuntu/debian for now ) compiling and working perfectly with HAP player!!!

so great news, now it's time for windows, finger crossed.

from mosaic.

d3cod3 avatar d3cod3 commented on July 28, 2024

Bad news for now on windows, i have not been able to compile ofxHapPlayer addon on qtcreator/msys2 on windows 10,
so i'm working on getting a Mosaic solution for visual studio, definitely i think it will be for the best, considering a lot of current issues on windows, it will probably solve some of them.

So i'm closing this for now, as generally speaking the video player / codecs issue is not just solved but considerably enhanced now with the hap addon ( just need to solve it on the windows side... )

from mosaic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.