LunaRabbit
26th December 2024, 10:16
I need some advice when it comes to videos where there is one-few still pictures with an audio track that is sometimes 2 hours long. We've recently been translating Drama CDs. This obviously requires subtitles so we must have some kind of video to overlay them on. What we've been doing is making a 1080p picture with some information about the Drama CD and a place where we can put subtitles at the bottom.
My settings might seem odd to some people. But the gist of it is I used a closed GOP and a responsible min/keyinit to ensure seeking is fast. I typically use something like
--min-keyint=1 --keyint=120 --no-open-gop
This ensures fast seeking and has worked well on most set-top devices I've tried it on. It doesn't add much to the final file size for most content (actual animation) so I think it's a good trade off.
But when it comes to Drama CDs where I'm making something like this (example avisynth script):
imagesource("S:\path\to\image.png",fps=23.976,start=0,end=83920, use_DevIL=true)
ConvertToYUV420()
Convertbits(16)
As the video source and muxing it together with a sub-100MB audio file this is not ideal. Since the final file size will be upwards to 600MB all because that same frame is getting repeated every 120 frames as an I-frame.
I've noticed --frame-dup doesn't seem to do anything or decrease file size. I can use Open GOPs and increase keyinit. But seeking times suffer a lot. When I use keyinit/minkeyinit+Open GOP to have just one I-frame at the start I get a decrease in file size obviously. But it won't work on a lot of devices or if it does play it freezes/hard locks the moment you attempt to seek manually. My chapters obviously still work if I manually insert I-frames there. But I'd prefer it work as good as my usual settings.
I'm looking for a better way to handle this. Right now I'm having to live with 600+MB files that are one image+100MB of audio at most. I'd like to get the video portion smaller so I could give more bitrate to the audio.
Anyone have any advice? Or is Open GOP+endless keyinit just not that well supported by low powered set-top devices? I understand why. They have to decode a ton of frames going all the way back to frame one if you seek around.
My settings might seem odd to some people. But the gist of it is I used a closed GOP and a responsible min/keyinit to ensure seeking is fast. I typically use something like
--min-keyint=1 --keyint=120 --no-open-gop
This ensures fast seeking and has worked well on most set-top devices I've tried it on. It doesn't add much to the final file size for most content (actual animation) so I think it's a good trade off.
But when it comes to Drama CDs where I'm making something like this (example avisynth script):
imagesource("S:\path\to\image.png",fps=23.976,start=0,end=83920, use_DevIL=true)
ConvertToYUV420()
Convertbits(16)
As the video source and muxing it together with a sub-100MB audio file this is not ideal. Since the final file size will be upwards to 600MB all because that same frame is getting repeated every 120 frames as an I-frame.
I've noticed --frame-dup doesn't seem to do anything or decrease file size. I can use Open GOPs and increase keyinit. But seeking times suffer a lot. When I use keyinit/minkeyinit+Open GOP to have just one I-frame at the start I get a decrease in file size obviously. But it won't work on a lot of devices or if it does play it freezes/hard locks the moment you attempt to seek manually. My chapters obviously still work if I manually insert I-frames there. But I'd prefer it work as good as my usual settings.
I'm looking for a better way to handle this. Right now I'm having to live with 600+MB files that are one image+100MB of audio at most. I'd like to get the video portion smaller so I could give more bitrate to the audio.
Anyone have any advice? Or is Open GOP+endless keyinit just not that well supported by low powered set-top devices? I understand why. They have to decode a ton of frames going all the way back to frame one if you seek around.