Den 11.02.2024 04:36, skrev Terje J.
Hanssen:
Den 11.02.2024 00:57, skrev Andrew
Randrianasulu:
There are two things I want to add to my current
intermediate DVD mpg video files created with ffmpeg,
and/or to the DVD tree structure created with
DeVeDeNG:
1. Create and add a Navigation menu in the
beginning
This will be an upcoming, separate topic
2. Create and add Soft Subtitles as simple text info
commentaries to the video content
This is the topic for this post.
The reason that I want
Soft Subtitles as a
separate text file stream related to timing, is
because this should be possible to
add or
import to an existing video file without the need to
re-encode. It should also be flexible to display on or
off during playback, if I have understood this correct
so far.
IIRC you can't add text-based subtitles to DVD
video. Blu-ray yes, dvd no (both can use palletized
reduced-color graphical subtitles) ... so at least rendering
text as palletized picture and then muxing it into mpeg
stream is unavoidable step,as far as I understand.
I have prepared a new video file and will try to add sub-titles
to-morrow
http://www.g-raffa.eu/Cinelerra/HOWTO/subtitles.html#_how_to_create_soft_subtitles
There are written several articles and answers to forum topics about
adding soft subtitles to video.
My best but only partly working attempt so far, is by applying this
solution on StackOverflow:
Use ffmpeg to add text subtitles: NOTE: This solution adds the
subtitles to the video as a separate optional (and
user-controlled) subtitle track.
https://stackoverflow.com/questions/8672809/use-ffmpeg-to-add-text-subtitles
1) First I created a DVD-video compliant MPG file with pcm audio
from DV source (as previously)
ffmpeg -hide_banner -i
DV09-1993.dv -f dvd -target pal-dvd -aspect 4:3 -b:v 8M -maxrate
8M -minrate 8M -bufsize 20M -muxrate 20M -mbd rd -trellis 1 -cmp 0
-subcmp 2 -c:a pcm_dvd DV09-1993.mpg
2) Created the attached srt subtitle file:
DVD-09-1993_subtitle.srt
3) Added (muxed) the soft, external subtitle file (2) as a separate
track to the mpg video file (1)
ffmpeg -hide_banner -i
DV09-1993.mpg -i DVD-09-1993_subtitle.srt -c:v copy -c:a copy -c:s
copy DV09-1993+srt.mpg
[mpeg @
0x55aac13139c0] start time for stream 0 is not set in
estimate_timings_from_pts
Input #0, mpeg, from
'DV09-1993.mpg':
Duration:
00:28:04.44, start: 0.540000, bitrate: 9701 kb/s
Stream #0:0[0x1bf]:
Data: dvd_nav_packet
Stream #0:1[0x1e0]:
Video: mpeg2video (Main), yuv420p(tv, progressive), 720x576 [SAR
16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate
max/min/avg: 9000000/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:2[0xa0]:
Audio: pcm_dvd, 48000 Hz, stereo, s16, 1536 kb/s
Input #1, srt, from
'DVD-09-1993_subtitle.srt':
Duration: N/A,
bitrate: N/A
Stream #1:0:
Subtitle: subrip
[mpeg @
0x55aac134b140] pcm_dvd in MPEG-1 system streams is not widely
supported, consider using the vob or the dvd muxer to force a
MPEG-2 program stream.
Output #0, mpeg, to
'DV09-1993+srt.mpg':
Metadata:
encoder :
Lavf60.16.100
Stream #0:0: Video:
mpeg2video (Main), yuv420p(tv, progressive), 720x576 [SAR 16:15
DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn
Side data:
cpb: bitrate
max/min/avg: 9000000/0/0 buffer size: 1835008 vbv_delay: N/A
Stream #0:1: Audio:
pcm_dvd, 48000 Hz, stereo, s16, 1536 kb/s
Stream #0:2:
Subtitle: subrip
Stream mapping:
Stream #0:1 ->
#0:0 (copy)
Stream #0:2 ->
#0:1 (copy)
Stream #1:0 ->
#0:2 (copy)
Press [q] to stop,
[?] for help
[out#0/mpeg @
0x55aac134af80] video:1644910kB audio:316303kB subtitle:0kB
other streams:0kB global headers:0kB muxing overhead: 0.561824%
size= 1972232kB
time=00:28:04.44 bitrate=9591.6kbits/s speed= 378x
4) Successful Playback of the final video and Audio with
subtitles using a "reinforced" FFplay command - also found on
StackOverflow
https://stackoverflow.com/questions/50175075/can-ffplay-view-subtitles
ffplay -hide_banner -vf
subtitles=DVD-09-1993_subtitle.srt DV09-1993+srt.mpg