[FFmpeg-devel] [PATCH v18 12/19] fftools/ffmpeg: Replace sub2video with subtitle frame filtering and use new frame-based subtitle encoding API

Michael Niedermayer michael at niedermayer.cc
Tue Nov 30 15:10:47 EET 2021


On Mon, Nov 29, 2021 at 07:48:25PM +0000, Soft Works wrote:
> This commit actually enables subtitle filtering in ffmpeg by
> sending and receiving subtitle frames to and from a filtergraph.
> 
> The heartbeat functionality from the previous sub2video implementation
> is retained and applied to all subtitle frames (bitmap, text, ..).
> 
> The other part of sub2video functionality is retained by
> auto-insertion of the new graphicsub2video filter.
> 
> Justification for changed test refs:
> 
> - sub2video
>   The new results are identical excepting the last frame which
>   is due to the implementation changes
> 
> - sub2video_basic
>   The previous results had some incorrect output because multiple
>   frames had the same dts
>   The non-empty content frames are visually identical, the different
>   CRC is due to the different blending algorithm that is being used.
> 
> - sub2video_time_limited
>   The third frame in the previous ref was a repetition, which doesn't
>   happen anymore with the new subtitle filtering.
> 
> - sub-dvb
>   Running ffprobe -show_frames on the source file shows that there
>   are 7 subtitle frames with 0 rects in the source at the start
>   and 2 at the end. This translates to the 14 and 4 additional
>   entries in the new test results.
> 
> - filter-overlay-dvdsub-2397
>   Overlay results have slightly different CRCs due to different
>   blending implementation
> 
> Signed-off-by: softworkz <softworkz at hotmail.com>

This breaks:
./ffmpeg -i ~/tickets/153/bbc_small.ts -filter_complex '[0:v][0:s]overlay' -qscale 2 -t 3 -y file.avi

Press [q] to stop, [?] for help
subtitle input filter: decoding size 0x0
Auto-inserting graphicsub2video filter
[swscaler @ 0x5578a748db00] Value 0.000000 for parameter 'srcw' out of range [1 - 2.14748e+09]
[swscaler @ 0x5578a748db00] Value 0.000000 for parameter 'srch' out of range [1 - 2.14748e+09]
[swscaler @ 0x5578a748db00] Value 0.000000 for parameter 'dstw' out of range [1 - 2.14748e+09]
[swscaler @ 0x5578a748db00] Value 0.000000 for parameter 'dsth' out of range [1 - 2.14748e+09]
[graphicsub2video @ 0x5578a735e880] [IMGUTILS @ 0x7ffd6097eab0] Picture size 0x0 is invalid
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
[libmp3lame @ 0x5578a73d3380] 3 frames left in the queue on closing
Conversion failed!




[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20211130/8b657970/attachment.sig>


More information about the ffmpeg-devel mailing list