Please add support for x264 interlaced encoding in FFMPEG recording option

Wickerman

New Member
Hi developers.

I'd be extremely grateful if you could add support for x264 interlaced encoding using the FFMPEG recording option. I have a ton of old 1080i videos which I need to convert into the H264 format but I really want to keep them as original as possible and I think x264's interlaced encoding method would be the best solution for me.

Please please please add support for interlaced recording capability.

Regards
Wickerman
 

R1CH

Forum Admin
Developer
You should use FFmpeg directly from the command line, OBS is not a video conversion tool. Your videos would be de-interlaced before being encoded.
 

sq5

New Member
I so happened to run into this only a few days ago. Interlaced support is something that one would expect to already be there via the x264 recording encoder options "tff=1 or bff=1" , or similarly by setting FFmpeg custom output with the same option.

The problem I ran into was that with recording set up either way, starting recording would produce an error with the log saying something along the lines of "interlacing support not compiled" into the x264 library. So it recognized the encoder option but the code is merely missing from the library. As of this writing the library dll version in place is libx264-157.dll.

Perhaps the OBS devs compiled this library themselves and forgot to enable the interlaced/MBAFF encoding support, but it seems just a matter of compiling that one library with the appropriate flag back on and users are good to go.
 

sq5

New Member
OBS is not a video conversion tool. Your videos would be de-interlaced before being encoded.

What the OP and I are looking to do is actually avoid a conversion that the encoder in OBS would otherwise be performing. OBS would be recording the interlaced video while expecting progressive by default, and so incorrectly mashing the scan fields down into single frames instead of keeping them straight.

On the other hand, OBS does not de-interlace videos before encoding (a good thing) unless one of the included deinterlacing methods is purposely selected for a video source first, so interlaced video does pass straight to the encoder.

A single x264 encoder option is all it takes to switch encoding/recording to the correct behavior for interlaced video so long as the library isn't compiled incomplete like the current one is.

A recompiled dll posted here on the forum is enough for me.
 
Last edited:

Wickerman

New Member
You should use FFmpeg directly from the command line, OBS is not a video conversion tool. Your videos would be de-interlaced before being encoded.
Sorry R1CH, I meant to say that I need to encode (not convert) several 1080i streams into the H264 format using the interlaced encoding option through OBS (FFMPEG).

Can you please look into the info posted by sq5? Seems like it's not too much to ask and would take very little effort to provide what we are asking for?

Thanks!
 

sq5

New Member
If someone otherwise has a stock libx264 dll binary from elsewhere or can point where to download one, that also might work. Looked on VideoLAN.org and they're only providing a self-contained x264 executable, so perhaps it's a stock x264 file from FFmpeg that would need to be swapped in if we can't get one from the OBS devs.
 
Last edited:

R1CH

Forum Admin
Developer
Unfortunately there is no guarantee that frames from your source align with frames sent to the encoder, since the source FPS and OBS' render FPS are independent. Even if you did find an interlaced encoder, as soon as there is a clock drift your encoding would be ruined.
 

sq5

New Member
Sure that's an issue wherever interlaced capture will be done but it's manageable, whereas capturing with the encoder set to progressive means encoding output is unfixably ruined from the start. When the x264 encoder is set to MBAFF interlaced mode, then the encoder is expecting interlaced video for a start and can attempt to adjust itself at times every so many frames.

Is it a big deal to enable that encoder flag in the library so the "tff=1 of bff=1" options can be used? Nothing needs to change on the OBS interface, and it's something that's normally working in a stock x264/FFMPEG encoder library. Could be merely a matter of recompiling one file and dropping that into the OBS folder over the existing one.
 
Last edited:

Wickerman

New Member
Sure that's an issue wherever interlaced capture will be done but it's manageable, whereas capturing with the encoder set to progressive means encoding output is unfixably ruined from the start. When the x264 encoder is set to MBAFF interlaced mode, then the encoder is expecting interlaced video for a start and can attempt to adjust itself at times every so many frames.

Is it a big deal to enable that encoder flag in the library so the "tff=1 of bff=1" options can be used? Nothing needs to change on the OBS interface, and it's something that's normally working in a stock x264/FFMPEG encoder library. Could be merely a matter of recompiling one file and dropping that into the OBS folder over the existing one.
R1CH this!!!
Please can you make this work?
 

Wickerman

New Member
Unfortunately there is no guarantee that frames from your source align with frames sent to the encoder, since the source FPS and OBS' render FPS are independent. Even if you did find an interlaced encoder, as soon as there is a clock drift your encoding would be ruined.
Can you please enable this option? I would be really really grateful!!!!!
 

Wickerman

New Member
Unfortunately there is no guarantee that frames from your source align with frames sent to the encoder, since the source FPS and OBS' render FPS are independent. Even if you did find an interlaced encoder, as soon as there is a clock drift your encoding would be ruined.
Ahh I can see there has been an update for OBS today, however still no interlaced encoding support :(((

Please enable this option devs!!!!!
 

dodgepong

Administrator
Community Helper
There is basically no chance of this happening. This is not what OBS is supposed to be used for.
 

Wickerman

New Member
There is basically no chance of this happening. This is not what OBS is supposed to be used for.
Why is there no chance of interlaced support being added onto the x264 encoder? Isn't OBS used for recording as well as streaming? I have been encoding several videos using x264 and pretty much every option can be enabled except interlaced encode? Why is it such a big deal to make this work?
 

sq5

New Member
There is basically no chance of this happening. This is not what OBS is supposed to be used for.

I don't understand where you get this idea. For example, maintaining common interlaced broadcast material while capturing/recording and for streaming back out for interlaced broadcast delivery is exactly something normal for Open Broadcast Studio to be used for. Nothing obscure about it. All it takes here is making sure one standard encoder option that already exists is correctly enabled in a library where it is normally already enabled.
 
Last edited:

dodgepong

Administrator
Community Helper
You said you wanted to use OBS to convert 1080i videos into h.264 but maintain the interlacing. As R1CH explained to you, this would be impossible with OBS even if OBS supported interlaced output.
 

Wickerman

New Member
You said you wanted to use OBS to convert 1080i videos into h.264 but maintain the interlacing. As R1CH explained to you, this would be impossible with OBS even if OBS supported interlaced output.
I need to encode 1080i streams into the H264 AVC format using the the x264 encoder under FFMPEG (custom output). As I mentioned, under this setting, I can pretty much change any x264 setting (like cabac, deblock, crf, bitrate etc), but when I try to enable x264's interlaced encoding using (interlaced=1 or tff/bff=1) the recording doesn't start and brings up an error message.

sq5 appears to know more than me on why this problem is occurring (see all his posts), it looks like it's just a simple matter of enabling an option under the x264 library to make this work so we really don't understand why this is being made into such a big deal?
 

dodgepong

Administrator
Community Helper
There are no updates. Posting repeatedly on this thread is not going to magically change this. I recommend you investigate an alternate solution.
 

Wickerman

New Member
There are no updates. Posting repeatedly on this thread is not going to magically change this. I recommend you investigate an alternate solution.
Why don't you consider recruiting sq5? He certainly appears to know your software more than you do!!!
 
Top