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 <[email protected]>:

    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

   Input #0, mpeg, from 'DV09-1993+srt.mpg':=    0KB sq=    0B f=0/0
      Duration: 00:28:04.45, start: 0.540000, bitrate: 9591 kb/s
      Stream #0:0[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:1[0xa0]: Audio: pcm_dvd, 48000 Hz, stereo, s16, 1536 kb/s
   [Parsed_subtitles_0 @ 0x7f7368464340] Shaper: FriBidi 0.19.6
   (SIMPLE) HarfBuzz-ng 3.4.0 (COMPLEX)
   [Parsed_subtitles_0 @ 0x7f7368464340] Using font provider fontconfig
   [Parsed_subtitles_0 @ 0x7f7368464340] fontselect: (Arial, 400, 0) ->
   /usr/share/fonts/truetype/LiberationSans-Regular.ttf, 0, LiberationSans
      39.75 A-V:  0.002 fd=   0 aq=  190KB vq= 1222KB sq=    0B f=0/0


5) Playback using VLC

 * OK playback of video and subtitles when adding the subtitle file
 * BUT: The AUDIO is lost in VLC !?
 * Have looked into several menu items (unmute and force volume on)


Additional I wonder:

du -sh DV*.mpg

   2,0G    DV09-1993.mpg (1)
   1,9G    DV09-1993+srt.mpg (3)

6) Why is the merged (subtitled) file (3) smaller than the initial file (1)?
Even that the srt file is very small, it should rather be opposite .........

7) And why the ffmpeg output (3), when the initial input mpg file (1) was created using "-f dvd -target pal-dvd", which I thought was just MPEG-2 and vob?

   [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.


8) DevedeNG got so far an error while creating the DVD iso from (3)
Tested the movie file in the tree structure with VLC, and also that without audio.....




But may be those DVD creation guis can do srt => dvd_sub conversion for you ?


    2.1 Preferably I want to add/import subtitles as fast and easy
    using GUI interactive tools like DeVeDeNG or VLC if possible?
    Next thereafter could be using the more time consuming ffmpeg
    https://www.baeldung.com/linux/subtitles-ffmpeg#how-to-add-soft-subtitles

    2.2 So is the question if learning a special subtitle editor is
    necessary to create the text file easier, like one of these 5
    https://www.debugpoint.com/3-great-subtitle-editors-in-linux-systems/

    Tip, suggestions or experience how to do this?







-- Cin mailing list
    [email protected]
    https://lists.cinelerra-gg.org/mailman/listinfo/cin


Attachment: DVD-09-1993_subtitle.srt
Description: application/subrip

-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to