Giter Club home page Giter Club logo

Comments (2)

hzeller avatar hzeller commented on June 30, 2024

384 x 64 pixels with 3 bytes each (RGB) is around 72 kIB, which is larger than the 64kIB that fits in a UDP packet.

The send-video and other tools in this library make sure to break up the packet into multiple tiles that each fit into the UDP limit, so you can send arbitrary size images.

The VLC tries to put everything in one packet, but then fails (which you see in the sendmsg: error Message too long message).

I did make a patch to VLC to fix that ( https://mailman.videolan.org/pipermail/vlc-devel/2020-March/132387.html ),
that was last year in March; however, there were review comments, but I never got around addressing them as I was getting involved with pandemic related technical things that required my attention - that is why it is not in VLC yet.

Anyway, you can try my fork of vlc in the branch flaschentaschen-large-image
https://github.com/hzeller/vlc/tree/flaschentaschen-large-image
That contains the necessary change to make VLC work with arbitrary large images. I just refreshed that to be based on latest VLC.

For your applicataion: I'd probably would not go the route through a video encoding and back, but directly encode the raw bytes of the HTML5 canvas as ppm packets (very easy to encode). In the patch you see how the large canvas is split into multiple stripes that each are less than 64kiB.

from flaschen-taschen.

gregtap avatar gregtap commented on June 30, 2024

Now it all makes sense! An other quality answer, thank you so much.

I don't think we can send UDP from browser javascript just yet however HTML5 canvas have a captureStream().

https://webrtc.github.io/samples/src/content/capture/canvas-pc/

We are going to look into that.

from flaschen-taschen.

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.