Den 12.02.2024 00:07, skrev Andrew
Randrianasulu:
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
isn't this command just uses external srt and
not muxed one?
Yes, I think you'r right, and I wondered a bit about it, but had no
keyboard shortcut for ffplay to test switching subtitles on and off.
So, afterwards I was more convinced - and fooled, when both Gnome
Media player (Totem) and SMplayer automatically displayed the
subtitles.
But that was when the srt subtitle file had the same name as the mpg
video file and was located in the same directory. But this worked as
well with the first mpg file (1).
The command line "vlc dvd.mpg dvd.srt" also worked with audio. Why
both VLC and MPlayer lost the audio with the srt muxed mpg file I
have no idea about.
-----------------------------
From your first reply:
rendering text as palletized picture and then muxing it
into mpeg stream is unavoidable step,as far as I understand.
But may be those DVD creation guis can do srt => dvd_sub
conversion for you ?
Andrey mentioned the "srt2vobsub" program, which seems to the same
as the "srt2vob" script for DVD and "2dsub" for BD vobsub
https://web.archive.org/web/20130728210155/https://code.google.com/p/srt2vob
And from my reference to g-raffa:
PRE-RENDERED SUBTITLES
they are added (muxed) to the video stream as images with
minimal information but can be separated (demuxed) when needed.
They are used in DVDs and they can be turned on and off.
Most DVD authoring applications are capable of transcoding
external subtitles to pre-rendered subtitles and of muxing them to
the video stream.
Regarding the last sentece, this article describes the wanted
solution - but on Linux ...?
https://robots.net/tech/how-to-burn-dvd-with-subtitles-srt/
while another article points on Handbrake as the best solution for
most users (?)
https://helpdeskgeek.com/how-to/how-to-burn-a-dvd-disc-with-subtitles/
Re 8) above
I also send a request to Raster soft why DeVeDeNG exits with an
error before finishing the mpg video file and creating the iso.