Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video templating #1

Closed
rumkin opened this issue Oct 11, 2014 · 4 comments
Closed

Video templating #1

rumkin opened this issue Oct 11, 2014 · 4 comments

Comments

@rumkin
Copy link

rumkin commented Oct 11, 2014

Hi. I'm searching for solution of video templating issue for web streaming.
I've got video which could be changed on the fly on demand and then streamed. I want to make it fast.
My goal is to split video file into small chunks (and store chunks in separate files) which will be a build blocks of final video, then change some of chunks (frame data only, no duration changes) on demand and concat chunks to get the result video.
My goal is to limit computations and simplify concatenation if it possible to simple cat.
So is it possible to do it this way with mp4Box?

@jeanlf
Copy link
Member

jeanlf commented Oct 23, 2014

  1. what do you mean by "change some chunks (frame data only)" ? If you change frame data, you need re-encoding of the whole chunk. This may have impact on codec compatibility of the new encdoded data and the existing file , you need to mke sure the same codecs settings are used...

  2. using simple cat may only be possible if the modified chunk has exactly the same duration as the source one. One way to do so is 👍

  • to prepare the video as a set of fragmented files (say 1 sec), using for example "-dash" option of MP4Box in "live" profile
  • whenever you have to edit one fragmented file, concat the init segment and the file (simple cat) and edit (if needed, unfrag the file using -inter 500). To refragment the result, use -dash option on the modified video, with the -tfdt N where N was the tfdt time of the edited segment (you can use -diso frag.m4s to find the tfdt).
  • when you have to distribute the result, concat (simple cat) the init segments and all the fragmented files.

hope this helps

@rumkin
Copy link
Author

rumkin commented Oct 25, 2014

Great thanks for your answer.

  1. "Change some chunks (frame data only)" means that I want to change pixels. No audio channel or duration changes. Drawing only.
  2. I will try this. Thank a lot.

@cconcolato
Copy link
Member

@rumkin Can we close this issue?

@rumkin
Copy link
Author

rumkin commented Nov 28, 2014

Nope, yet.

@amuth amuth mentioned this issue Feb 3, 2016
@ricardollovera ricardollovera mentioned this issue Jun 16, 2020
3 tasks
dimitry-unified-streaming added a commit to dimitry-unified-streaming/gpac that referenced this issue Mar 9, 2023
If you use both -dnal track_id and -std on a AV1 input file, you will
always receive an error "Track gpac#1 is not NALU or OBU based!", even
though the track *is* OBU based.

This is because the check for the ISOM media subtype is erroneously
skipped when dumping to stdout.

Fix it by doing the ISOM media subtype check earlier.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants