Giter VIP home page Giter VIP logo

Comments (5)

kristianlm avatar kristianlm commented on July 4, 2024

Hi @ychakiris and thanks for your feedback. You're right - it's hard to keep track of the ffmpeg API changes. These bindings a for 3.4, I've added that in the readme.

I'm not I will be able to maintain this, unfortunately. As the readme mentions, it's a rather ambitious library to write bindings for.

I'm curious - what's your use-case?

from chicken-ffmpeg.

ychakiris avatar ychakiris commented on July 4, 2024

In this part of my life I am a kind of behavioral scientist that uses science (a derivative of Behavior Analysis) to fix peoples lives and run schools. I am not a therapist but a scientist.

I live in Chicago and the main school I work with is in NYC (Crown Heights specifically). We have cameras in all the classrooms and now record all the classes. I mentor teachers and give live feedback via texting. We call our system the Visible Classroom. In our next iteration of the system, there are going to be some significant upgrades to it. The ffmpeg library (particularly ffplay) has the best performance of any of the libraries I have looked at. However, doing all the programming in c is not feasible so I would like a lisp binding to control things in a distributed system. Hence my interest in your bindings.

from chicken-ffmpeg.

ychakiris avatar ychakiris commented on July 4, 2024

I have looked at MANY alternatives and all of them have issues of one kind or another. ffplay as a client is rather primitive but it has by far the best performance of anything I have used so far.

The exact use case is not completely clear at this time. Probably some derivation of the following:

  1. use ffplay to develop a client for viewing video remotely in Chicago and other places by breaking its internal pipeline into two parts in two separate locations: i) get the uncompressed packets in NYC; ii) send over the wire to Chicago; iii) decompress and display. The main thing I need is the capability to see a whole school day in fast motion in about 5 min per classroom. It is is possible to do this using web technology but it has latencies much greater than ffplay even in the loopback on a single machine.

  2. use ffmpeg to create composite videos from separate videos in response to a teachers request for data.

Now all of this can be hacked together with bash scripts and a http web interface but I would like to explore other ways. That both work better and are more fun to deal with.

from chicken-ffmpeg.

kristianlm avatar kristianlm commented on July 4, 2024

Sounds like a very interesting project! Unfortunately, all these things get so intensively complex real quick. And performance is hard to evaluate because there are so many hardware acceleration options and tweaks.

Do you have full control of all the codecs in the system? Running on the same hardware? If so, it may be worth picking out a pair of codecs and using libraries for those directly (eg libvpx and libopus, for example).

Have you looked into gstreamer? Have you looked at any other bindings for ffmpeg? chicken-ffmpeg, as you probably understand, are virtually untested. There are probably Python-bindings that have actually been used quite a bit :-) Also, perhaps an easier approach is to script ffmpeg commands. There are plenty of filters to choose from so you can create some complicated pipelines and communicate with filters through messages - as far as I understand.

Having said that, CHICKEN is a good fit for C integration, and if you're ready to patch up these bindings as needed, I'm sure you can get the results you're after.

Perhaps the remainder of this belongs in an email thread, feel free to contact me on (string-concat my-first-name "@adellica.com").

from chicken-ffmpeg.

ychakiris avatar ychakiris commented on July 4, 2024

I will contact you via email to continue the discussion.

from chicken-ffmpeg.

Related Issues (2)

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.