Smart Encoding Feature

Hi,

Today more and more video editing tools (TMPGEnc Smart Renderer 5, VideoPad, Nero, etc.) offer the incredibly useful option of “smart encoding”, i.e. ability to detect and to only re-encode the ranges of a clip which actually are modified, e.g. by a filter, transition, title or so, and to integrate the unmodified parts (which usually make up the largest parts) without re-encoding. The speed gains are dramatic, especially for 4K video, usually at least a factor of ten if your final video isn’t full of transitions, titles and filters.

I know that this subject was already mentioned in this forum in one way or another. To my understanding, the response was that there were no plans to implement it and to better use other software for this (!). If there should be a technical reason preventing implementation, then I’m sure everyone will accept this. Otherwise I would propose to re-consider to include this immensely useful feature in the future, it certainly would strengthen the top position of Shotcut within the leading video editors in a fast-changing world. Keep up your great work!

In this short list, all programs are paid software, but with no versions for Linux. VideoPad is the only one that offers a Mac OS version.

I’m a Windows user, so my sincere apologies for not being able to list examples for Linux, Mac, etc. I’m pretty sure you will find smart encoding examples there also. Apart from that, I don’t think that not providing a complete list of examples across all possible platforms should be an argument against this feature request.

It’s also known as ‘smart rendering’. I’m seeing references to smart encoding as far back as 2006, so it’s not a new concept which makes me wonder that maybe Shotcut’s ‘lossless’ presets are already doing this without using that older terminology?.

The ‘lossless’ presets apparently just set the rendering quality to 100%. As far as I can tell, this has nothing to do with ‘smart encodung’, unfortunately.

100% means zero compression, essentially.

Let’s wait to see what Dan or Brian (Devs) have to say.
My gut feeling suggests to me if it was a good thing then Shotcut being a much newer application than say Nero, would where possible already use SE/SR. Unless of course it was propriety tech and required a license which would mean that free OpenSource software couldn’t use it.

Absolutely!

My own feeling is that if SE/SR was implemented, you should be able to find a setting in Shotcut were you can merge two clips (of identical encoding format and without effects, of course) in extremely short time. - For illustration: I just merged two 4K/30 FPS MP4/AAC clips (one of 46 sec and the other of 31 sec length) in 9 seconds under mediocre CPU load, using TMPGEnc Smart Encoder 5 as an example of an app applying SE/SR. For simplicity, no effects were applied. Merging the same clips using Shotcut with GPU acceleration (MP4, h265_nvenc, 60% quality) takes 70 seconds under full CPU and medium GPU load in my case. I think this 700% difference between SE/SR and standard re-encoding is rather impressive.

OK to all of that, but all the software you mention is payware.

Maybe I misunderstand your argument, but basically every main feature present in Sotcut currently is also present in good payware, there’s (fortunately!) a big overlap here – and this is what makes Shotcut such a great alternative to payware. There would be no Shotcut if features would have been excluded just because they were already present in payware.

But maybe you mean that the developers of payware purchased an expensive commercial codec for doing Smart Encoding (SE/SR)? All I can say is that there is no prebuilt codec for smart encoding. SE/SR utilizes a codec of your choice for rendering the parts of your clip which actually require re-encoding, the rest is custom program logic for quick- merging the re-encoded parts with parts which don’t need re-encoding. My feeling is that you can’t purchase this custom program logic and yes, there’s a lot of development work (provided there’s no general open source code available for this).

But I think we went quite a bit off-topic here: The question is if anyone principally would see some benefits in implementing the Smart Encoding technology with its huge performance benefits also in Shotcut. I haven’t heard anything related to this so far …

Have you used Smart Encoding? What have been your results using this technology that you wish to be implemented in Shotcut? Which programs have you used with success, and for which types of file formats?

There are too many pitfalls. What happens when you do not use video clips of exactly the same format? What happens when the encoding params does not match well the format of a clip; video codecs are very complex. It could doable if limited to a certain format like DV that is no longer possible. We do not have the resources to devote to this. It would take me a really long time while not working on anything else.

Thanks for your response. And yes, the benefits of “Smart Encoding” indeed end when the format of the clips differs, since the differing clip(s) would need to be marked as to be re-encoded, much like as transitions etc. However, in the real world one quite often wants to edit materials originating from the some video recorder, which will result in an identical formats.

But anyway, I tried to point out this promising new technology since it doesn’t seem to be widely known in this forum. I of course accept that there are no resources for its development. Thanks for your time.

But it’s not new.

Please read my comments about this subject posted yesterday in this thread, it answers all of your questions … :slight_smile:

I’m not sure what this comment contributes to the discussion. I certainly have other things to do than to spend my time with discussions on that level. - This topic is closed for me an I’m out of this forum. Thanks again for your time.

Yes, you appear to have. I have not been arguing at all.

If you’d understood my earlier comments you would not have missed this point either.

It’s a pity that you became so confrontational.

Exactly.
I have another commercial software which does what the OP speaks about (AVS Video Remaker) but the caveat is that each clip’s properties must be the same.

I think smart encoding is not a priority in a powerful editing tool as Shotcut. If I check most of my past projects, though they are mostly family videos, I notice that none of them could be outputted with such an option.
For instance, this feature would be useful when you want to accurately cut off ads from a DVB or Web recording with few keyframes. This could be a nice improvement for lighter tools like Avidemux which is aimed for this kind of use.

So spend the money.

Just a thought but what if this feature in Shotcut were limited to only if you are using one sole clip with modifications? And if there are more clips used then they all have to have the same format to begin with for the feature to be available?

I am considering to add to the Properties menu, an Extract… like option that will use only the in/out information. That would be a simple ffmpeg command line execution.

It might be possible to add something to the Playlist menu along these lines, but it is much more work.