Hi there,
I hope everyone's well! Still loving FFAStrans. It's been a great tool for us and I have had a lot of fun tinkering with it. This time, however, I'm admitting defeat.
What I'm trying to do is, on paper, quite simple. I want to take the final frame of a video, add it as a 5-second hold at the end and then re-export the video in the same specs (or ProRes 422 HQ if that's easier).
This is for broadcast files in the UK. We're taking our Peach-spec files and turning them into Clearcast Library spec files by adding a 5s hold at the end. I'm really struggling to get the workflow right and my ffmpeg knowledge isn't extensive enough to just bash out the custom command. ChatGPT and Bard are also being a PITA and are being quite unhelpful.
The final format would be like this:
7s clock, 3s black, full film duration, 5s frame hold
The only other two topics I could find on the forum either went dead or are too old and no longer apply.
Could anyone help me do this, please? My current method is a little convoluted and I would rather not provide it because I reckon there are cleaner solutions and think starting from scratch might be better, though I can do on request.
Happy to go into more detail if needed.
Thanks in advance!
[Help Request] Add 5s Freeze/Hold and Re-Export [Solved]
[Help Request] Add 5s Freeze/Hold and Re-Export [Solved]
Last edited by Bevan93 on Tue Apr 04, 2023 1:35 pm, edited 1 time in total.
Re: [Help Request] Add 5s Freeze/Hold and Re-Export
Hey,
The easiest way to do such stuff is to first encode all the clips you want to glue together and in the end, "concat" and deliver them without encoding (in one step so you save one time reading/writing)
Here an example that
1) encodes the original clip to prores
2) extract last frame to bmp, encodes a 5 sec clip to prores
3) concats and delivers in one step
But make absolute sure that the 2 encoding procs generate exactly the same interlacing/codec profile/framerate etc...
You will see, in the end i use ffmpeg "concat" to stitch the 2 files. The resulting file will only be fine when the 2 encoders produced exactly the same format. The thing is, ffmpeg will concat whatever you throw at it e.g. it would not mind glueing prores and mpeg2 together. You would get a mov output file but the player would detect just garbage at the end because it does not expect codec (or video standard) change mid-stream.
Finally, if that example works for you and you need to prepend clock and black clips, you can just add them to the concat text file processor but again, make sure they are in the exact same prores format before they are finally concatted.
Also note, that it might be tempting but not a good idea to split up into several branches. It will be best if you do only serial processor connections, no paralell. This is because it is kind of hard to synchronize and "merge" back from several branches into one (lots of forum topics about that).
The easiest way to do such stuff is to first encode all the clips you want to glue together and in the end, "concat" and deliver them without encoding (in one step so you save one time reading/writing)
Here an example that
1) encodes the original clip to prores
2) extract last frame to bmp, encodes a 5 sec clip to prores
3) concats and delivers in one step
But make absolute sure that the 2 encoding procs generate exactly the same interlacing/codec profile/framerate etc...
You will see, in the end i use ffmpeg "concat" to stitch the 2 files. The resulting file will only be fine when the 2 encoders produced exactly the same format. The thing is, ffmpeg will concat whatever you throw at it e.g. it would not mind glueing prores and mpeg2 together. You would get a mov output file but the player would detect just garbage at the end because it does not expect codec (or video standard) change mid-stream.
Finally, if that example works for you and you need to prepend clock and black clips, you can just add them to the concat text file processor but again, make sure they are in the exact same prores format before they are finally concatted.
Also note, that it might be tempting but not a good idea to split up into several branches. It will be best if you do only serial processor connections, no paralell. This is because it is kind of hard to synchronize and "merge" back from several branches into one (lots of forum topics about that).
emcodem, wrapping since 2009 you got the rhyme?
Re: [Help Request] Add 5s Freeze/Hold and Re-Export [Solved]
Hey emcodem,
This was near perfect, thank you so much.
I had some issues with the stills creation and had to change it to 25fps and run it for 4s 23f because all the films were coming out 2f extra on top of the 5s.
I've anonymised the workflow with those changes and uploaded it here. Maybe someone else will need it in the future. I've run a few files through and checked it with my QC team and we're all happy with the results.
Thanks again for your help. I really appreciate it. It's going to save us all a fair bit of time and helps reduce the chance of human error, as all good automation should do.
All the best
Bevan
This was near perfect, thank you so much.
I had some issues with the stills creation and had to change it to 25fps and run it for 4s 23f because all the films were coming out 2f extra on top of the 5s.
I've anonymised the workflow with those changes and uploaded it here. Maybe someone else will need it in the future. I've run a few files through and checked it with my QC team and we're all happy with the results.
Thanks again for your help. I really appreciate it. It's going to save us all a fair bit of time and helps reduce the chance of human error, as all good automation should do.
All the best
Bevan
Re: [Help Request] Add 5s Freeze/Hold and Re-Export [Solved]
Hey Bevan,
nice, thanks for sharing the actual production workflow
Might i ask why you needed that additional encode step after the concat?
nice, thanks for sharing the actual production workflow
Might i ask why you needed that additional encode step after the concat?
emcodem, wrapping since 2009 you got the rhyme?