пн, 12 февр. 2024 г., 02:02 Terje J. Hanssen
<terjejhans...@gmail.com>:
Den 11.02.2024 04:36, skrev Terje J. Hanssen:
Den 11.02.2024 00:57, skrev Andrew Randrianasulu:
сб, 10 февр. 2024 г., 21:10 Terje J. Hanssen via Cin
<cin@lists.cinelerra-gg.org>:
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?