I would like to apply a function to each frame in a video. Because of the size, I cannot read all frames into memory. I would like to import each frame (I know how to do that), apply my function (ditto), and then append the result to an output file. How do I do that? Export does not seem to have an "append" option. Functions like ImageFileApply are almost what I want, but they operate on pixels, not frames. Any suggestions?


closed as off-topic by MarcoB, Young, happy fish, corey979, gwr Feb 17 '17 at 18:32

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "This question cannot be answered without additional information. Questions on problems in code must describe the specific problem and include valid code to reproduce it. Any data used for programming examples should be embedded in the question or code to generate the (fake) data must be included." – happy fish, corey979, gwr
  • "The question is out of scope for this site. The answer to this question requires either advice from Wolfram support or the services of a professional consultant." – MarcoB, Young
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ Share the code you have to apply the function to frames. Apart from that, I don't know that adding frames to video files is as simple as physically appending to the file. I suspect that some reformatting (headers, metadata) would be necessary for each frame added, which would make the process awfully inefficient. Perhaps you could cut the video into manageable chunks externally, apply function, then restitch the edited chunks, again using an external helper program. $\endgroup$ – MarcoB Feb 14 '17 at 18:51
  • 3
    $\begingroup$ Usually the simplest approach is to export all the frames as images and use something like ffmpeg to create a movie from those. If you're using Windows an alternative is my MathMF package, which lets you read and write frames one at a time. Check some of the Related links on the right of this page too. $\endgroup$ – Simon Woods Feb 14 '17 at 20:12