Stories
Slash Boxes
Comments

SoylentNews is people

posted by LaminatorX on Saturday October 25 2014, @12:38PM   Printer-friendly
from the moving-pictures dept.

Dear Soylenters: What is a good programming language for doing custom processing/manipulation of digital video frames and digital audio data? The language/IDE shouldn't be too hard to setup or learn. It would be a plus if it executes reasonably fast. The language should allow easy reading & writing of video and audio files in common formats without requiring a commercial multimedia plugin or component. It would be nice if the language is available on both Windows and Mac OS.

Thanks in advance for any help or pointers,

Anonymous

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0, Funny) by Anonymous Coward on Saturday October 25 2014, @12:50PM

    by Anonymous Coward on Saturday October 25 2014, @12:50PM (#109883)

    0x003a0090
    0x81348092

  • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @12:58PM

    by Anonymous Coward on Saturday October 25 2014, @12:58PM (#109884)

    If speed is Your concern (and it probably should) - you can possibly play with only one language...

    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @01:16PM

      by Anonymous Coward on Saturday October 25 2014, @01:16PM (#109894)

      C++ C++ C++

      C++ C++ C++

      C++
      C++ C++ C++

      C++ C++ C++

      C++

      And maybe C. But if you're using C, then you might as well just use C++ and get so many more features with almost no loss of performance.

      • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @02:35PM

        by Anonymous Coward on Saturday October 25 2014, @02:35PM (#109910)

        C++ has too much redundancy.

        For proof, see parent's post.

        • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @02:44PM

          by Anonymous Coward on Saturday October 25 2014, @02:44PM (#109913)

          The grandparent's comment is written in English, not C++.

  • (Score: 2) by cafebabe on Saturday October 25 2014, @12:58PM

    by cafebabe (894) on Saturday October 25 2014, @12:58PM (#109885) Journal

    What are you trying to achieve? If you want to strip audio or make low resolution proxy files, ffmpeg is very good and requires no programming. However, it does require some fluency with a command line.

    --
    1702845791×2
    • (Score: 3, Interesting) by fliptop on Saturday October 25 2014, @01:11PM

      by fliptop (1666) on Saturday October 25 2014, @01:11PM (#109891) Journal

      ffmpeg is very good and requires no programming

      I'll second this notion. I've used ffmpeg extensively to pull rtsp streams from IP cameras. One piece of advice I would offer: if you're pulling both video and audio, become familiar w/ the -itsoffset switch and how to map multiple streams because I've never encountered an IP camera that natively serves a synchronized rtsp stream. This guy's blog [wordpress.com] was helpful to me when I started.

      --
      Our Constitution was made only for a moral and religious people. It is wholly inadequate to the government of any other.
  • (Score: 2) by tonyPick on Saturday October 25 2014, @12:59PM

    by tonyPick (1237) on Saturday October 25 2014, @12:59PM (#109886) Homepage Journal

    There's OpenCV

    http://docs.opencv.org/ [opencv.org]

    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @01:24PM

      by Anonymous Coward on Saturday October 25 2014, @01:24PM (#109896)

      Does OpenCV have anything to do with curriculum vitae?

      • (Score: 1) by Gertlex on Saturday October 25 2014, @02:31PM

        by Gertlex (3966) Subscriber Badge on Saturday October 25 2014, @02:31PM (#109909)

        No, you silly academic.

        • (Score: 2) by CRCulver on Saturday October 25 2014, @02:45PM

          by CRCulver (4390) on Saturday October 25 2014, @02:45PM (#109915) Homepage
          CV/curriculum vitae is the word used in place of resumé by a great deal of UK English speakers, and virtualy all continental English speakers.
          • (Score: 1) by Gertlex on Saturday October 25 2014, @02:51PM

            by Gertlex (3966) Subscriber Badge on Saturday October 25 2014, @02:51PM (#109921)

            Ahh gotcha. Thanks for that tidbit. The European CV's I've seen have also been for academics generally, so never noticed that distinction.

      • (Score: 2) by maxwell demon on Saturday October 25 2014, @02:45PM

        by maxwell demon (1608) on Saturday October 25 2014, @02:45PM (#109914) Journal

        Yes: It almost certainly shows up in the CV of the maintainers.

        --
        The Tao of math: The numbers you can count are not the real numbers.
    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @07:23PM

      by Anonymous Coward on Saturday October 25 2014, @07:23PM (#110049)

      There's OpenCV

      Why the hell would you use computer vision software for processing digital video frames and digital audio data?!? God! I just hope we never cross paths in a professional setting. I guess the saying really is true: if all you have is a hammer, the entire world looks like nails.

  • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @01:04PM

    by Anonymous Coward on Saturday October 25 2014, @01:04PM (#109887)

    Dear Soylenters: What is a good programming language for doing custom processing/manipulation of digital video frames and digital audio data? The language/IDE shouldn't be too hard to setup or learn. It would be a plus if it executes reasonably fast. The language should allow easy reading & writing of video and audio files in common formats without requiring a commercial multimedia plugin or component. It would be nice if the language is available on both Windows and Mac OS.

    Dear AC,
    Define 'custom processing'. Perhaps you should check out ffmpeg, mlt framework and sox (or libardour)? Bindings to programming languages other than C/C++ may or may not exist.

  • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @01:14PM

    by Anonymous Coward on Saturday October 25 2014, @01:14PM (#109892)

    If the question is, "What programming language should I use?", then the answer is always "C++".

    • (Score: 3, Funny) by maxwell demon on Saturday October 25 2014, @02:48PM

      by maxwell demon (1608) on Saturday October 25 2014, @02:48PM (#109918) Journal

      If the question is, "What programming language should I use?", then the answer is always "C++".

      Let's see ...

      "I want to write some web page enhancements running on the user's browser. What programming language should I use?"

      --
      The Tao of math: The numbers you can count are not the real numbers.
      • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @02:55PM

        by Anonymous Coward on Saturday October 25 2014, @02:55PM (#109924)

        You're still using C++. Firefox is written in C++. Chrome is written in C++. Safari is written in C++. Opera is written in C++. IE is written in C++. And those are the only browsers really used today.

        • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @03:16PM

          by Anonymous Coward on Saturday October 25 2014, @03:16PM (#109931)

          But the browser doesn't execute C++ code.

          • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @03:25PM

            by Anonymous Coward on Saturday October 25 2014, @03:25PM (#109939)

            JavaScript is just a shitty interface for interacting with the C++ code that makes up the browser. Every line of JavaScript is just text that tells the browser's C++ code to do something. Sometimes it triggers the C++ code that evaluates mathematical expressions. Sometimes it triggers the C++ code that stores a value. Sometimes it triggers the C++ code that manipulates the DOM that's implemented in C++. If you're using JavaScript, you're really just using C++. JavaScript is just a way that C++ offers for dumbasses to use C++ without expecting them to be smart enough to actually use C++ itself.

            • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @03:49PM

              by Anonymous Coward on Saturday October 25 2014, @03:49PM (#109953)

              And the C++ code is compiled into assembly language, which is assembled into the x86_64 instruction set, so we might as well say that everything on the Intel/AMD platform is written in x86_64 machine code.

            • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @03:59PM

              by Anonymous Coward on Saturday October 25 2014, @03:59PM (#109960)

              JavaScript is just a shitty interface for interacting with the C++ code that makes up the browser

              C++ is just a shitty interface for interacting with the C code that makes up the kernel and userspace lib.

            • (Score: 1) by DeKO on Saturday October 25 2014, @11:41PM

              by DeKO (3672) on Saturday October 25 2014, @11:41PM (#110107)

              JavaScript is just a way that C++ offers for dumbasses to use C++ without expecting them to be smart enough to actually use C++ itself.

              From my own experience, JavaScript makes some tasks so much harder that I wonder if, overall, JS programmers are just putting more effort into getting things done than a C++ programmer would.

            • (Score: 2) by Tork on Sunday October 26 2014, @05:25AM

              by Tork (3914) Subscriber Badge on Sunday October 26 2014, @05:25AM (#110182)

              Every line of JavaScript is just text that tells the browser's C++ code to do something.

              So what you're saying is that somebody should write some C++ code to generate the JavaScript syntax needed to make the browser perform its task.

              --
              🏳️‍🌈 Proud Ally 🏳️‍🌈
          • (Score: 1) by evk on Saturday October 25 2014, @04:07PM

            by evk (597) on Saturday October 25 2014, @04:07PM (#109964)

            Nothing(?) runs C++ code, that why you have a compiler. In this case you'll probably want to compile to javascript.

        • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @04:34PM

          by Anonymous Coward on Saturday October 25 2014, @04:34PM (#109976)

          You mean Safari isn't written in Objective C or Swift?

      • (Score: 2) by meisterister on Sunday October 26 2014, @03:53AM

        by meisterister (949) on Sunday October 26 2014, @03:53AM (#110157) Journal

        You shouldn't use a programming language. You should immediately stop, back away from the computer, and reconsider your life. Then when realizing that you were about to inflict the evil horrors of JavaScript on actual human beings, you should proceed to get psychiatric treatment. After this long and arduous process, during which you discover whatever childhood or other such trauma would cause you to do such a thing, you should proceed to learn how to do actual programming instead of slowing down the Internet for everyone.

        Then you would use C++.

        --
        (May or may not have been) Posted from my K6-2, Athlon XP, or Pentium I/II/III.
  • (Score: -1, Flamebait) by Anonymous Coward on Saturday October 25 2014, @01:21PM

    by Anonymous Coward on Saturday October 25 2014, @01:21PM (#109895)

    Have you checked out systemd yet? It does everything on my system: it boots it, it inits it, it corrupts the log files into some binary format, it runs GNOME 3, it runs GIMP, and I wouldn't be at all surprised if it does whatever it is that you need done, too.

    • (Score: -1, Flamebait) by Anonymous Coward on Saturday October 25 2014, @01:40PM

      by Anonymous Coward on Saturday October 25 2014, @01:40PM (#109898)

      Have you tried systemd? (Score:-1, Flamebait)

      It is indeed a pity that systemd itself was never regarded as flamebait before being force-fed to everyone.

      • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @01:55PM

        by Anonymous Coward on Saturday October 25 2014, @01:55PM (#109902)

        As a great musician once sang,

        The dice decide my fate
        And that's a shame
        In these trembling hands
        My faith tells me to react,
        I don't care
        Maybe it's unkind that I should change
        A feeling that we share
        It's a shame

        Such a shame
        Number me with rage, it's a shame
        Such a shame
        Number me in haste
        Such a shame
        This eagerness to change
        Such a shame

        • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @03:29PM

          by Anonymous Coward on Saturday October 25 2014, @03:29PM (#109941)

          I tried systemd. Unfortunately it seems to be incompatible with pulseaudio.

        • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @04:42PM

          by Anonymous Coward on Saturday October 25 2014, @04:42PM (#109982)

          The dice decide my fate

          Tell me about it. Half the time I login at the green site I get served this. [slashdot.org]

          • (Score: 2) by JNCF on Monday October 27 2014, @11:59PM

            by JNCF (4317) on Monday October 27 2014, @11:59PM (#110699) Journal

            Tell me about it. Half the time I login at the green site I get served this. [slashdot.org]

            Ah, I see your problem. You're using the wrong URL. Try this one, [slashdot.org] or better yet, this one. [soylentnews.org]

      • (Score: 2) by Tork on Sunday October 26 2014, @05:27AM

        by Tork (3914) Subscriber Badge on Sunday October 26 2014, @05:27AM (#110183)

        It is indeed a pity that systemd itself was never regarded as flamebait before being force-fed to everyone.

        It's funny watching somebody who likes to complain about systemd in non-relevant articles bitch about something being 'force-fed' to them.

        --
        🏳️‍🌈 Proud Ally 🏳️‍🌈
  • (Score: 2) by zeigerpuppy on Saturday October 25 2014, @02:23PM

    by zeigerpuppy (1298) on Saturday October 25 2014, @02:23PM (#109907)

    As always, there's a trade of between speed and simplicity.

    If you haven't used Max/MSP or Puredata, these are excellent
    environments for real time audio/visual control.

    Then you have Processing which is not quite as fast but bery flexible.

    Finally, going lower level, try OpenCL or CUDA

    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @02:26PM

      by Anonymous Coward on Saturday October 25 2014, @02:26PM (#109908)

      Or just use C++.

      • (Score: 0) by Anonymous Coward on Sunday October 26 2014, @02:20AM

        by Anonymous Coward on Sunday October 26 2014, @02:20AM (#110136)

        You keep saying that, but nobody cares about your pet ego language.

  • (Score: 2) by Ken_g6 on Saturday October 25 2014, @03:08PM

    by Ken_g6 (3706) on Saturday October 25 2014, @03:08PM (#109929)

    It sounds like you're asking for AviSynth [avisynth.nl], a language specifically designed for manipulating video. Windows only, but really how many programming languages are there for Macs?

    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @04:45PM

      by Anonymous Coward on Saturday October 25 2014, @04:45PM (#109983)

      Yeah, that is what I was thinking.

      Is there anything else like avisynth out there for the unices?

      • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @04:47PM

        by Anonymous Coward on Saturday October 25 2014, @04:47PM (#109984)

        There's C++.

      • (Score: 2) by wonkey_monkey on Saturday October 25 2014, @05:18PM

        by wonkey_monkey (279) on Saturday October 25 2014, @05:18PM (#110002) Homepage

        I think VapourSynth, the Python-esque reimagining of Avisynth, runs on Linux. And that Avisynth itself runs under Wine.

        --
        systemd is Roko's Basilisk
      • (Score: 1) by Ken_g6 on Sunday October 26 2014, @04:07AM

        by Ken_g6 (3706) on Sunday October 26 2014, @04:07AM (#110161)

        There's something for *NIX called AvxSynth linked at that site, but I haven't tried it.

  • (Score: 2) by HiThere on Saturday October 25 2014, @06:26PM

    by HiThere (866) Subscriber Badge on Saturday October 25 2014, @06:26PM (#110031) Journal

    Have you looked into Pure Data? Pd looks as if it is designed for that use, but I've never used it.

    --
    Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.
    • (Score: 0) by Anonymous Coward on Saturday October 25 2014, @07:30PM

      by Anonymous Coward on Saturday October 25 2014, @07:30PM (#110052)

      C++ is another option.

  • (Score: 1) by FrogBlast on Saturday October 25 2014, @09:11PM

    by FrogBlast (21) on Saturday October 25 2014, @09:11PM (#110074)

    There's no real setup at all, it runs on every platform, it's designed primarily for graphics work, so modifying frames is easy. I used it a few years ago to render the frames for a game trailer and save the directly to an MP4 file. I didn't do audio in that project, but I once used it for realtime guitar distortion. If I can do it, anyone can.

  • (Score: 2) by fadrian on Saturday October 25 2014, @10:02PM

    by fadrian (3194) on Saturday October 25 2014, @10:02PM (#110088) Homepage

    C and asm for where your loops need to be tight close to the metal. Whatever you want for whatever crappy UI you're going to have, because it's not that performance sensitive (unless whatever you're putting it on is underpowered - and it had better not be, if you're actually processing video and audio). Besides, it's going to be changing every three-to-five years for whatever fashion the platforms are chasing this time - so make it cheap to develop by using whatever kind of developer you can find easily at the time. By the time you need to revisit your language choice, you'll probably be re-examining your entire software base, anyway.

    --
    That is all.
  • (Score: 2) by TGV on Sunday October 26 2014, @08:08AM

    by TGV (2838) on Sunday October 26 2014, @08:08AM (#110188)

    Yes, that's the name: Processing. It's Java, but made a bit easier, and comes with a very nice library of image and sound processing functions. I've used it to read and analyze sound files, extract frequency spectra over time, and make an animation, moving a mask over an image based on changes in the frequency bins, all in 244 lines.

    Check: https://processing.org/ [processing.org]