[MPlayer-users] Make a clip with subtitles?

Eli the Bearded mplayer at eli.users.panix.com
Sun Apr 8 02:30:15 EEST 2018


On Sat, 7 Apr 2018, "Bill Crockett" <wsc4 at optusnet.com.au> wrote, quoting me:
>> mencoder -ss $ss  -endpos $td \
>> -vf harddup -nosound -ovc copy -noskip -mc 0 \
>> "$in" -o "$out"
>>
>> # START and DURATION are typically empty, when not empty they are
>> # "-ss TIME" and "-endpos TIME2"
>> mplayer $START $DURATION -nosound -vo "jpeg:outdir=$outdir" "$in"
>>
>> Given that workflow, I'd like to know what I can do to make substites
>> appear (when I have them) in the final frames. Can mencoder create the
>> soundless clip with the substitles written into the video stream? 
>>
>> Baring that, if I made a subtitle file for my soundless clip (and I
>> probably could automate that easily with a program), can I get the
>> second stage to composite the subtitles in before writing the JPEG
>> frames out?
> I would run some tests with your final video of 20 seconds or what ever.
>
> mplayer -sub sub.srt input

Yes, I can add subtitles like that, it's the second part of my question.
That works. For testing purposes I created an srt file that puts a
changing timestamp in for every second.

https://qaz.wtf/tmp/generic.srt.gz

> Copy the text (in-between the dash line). Name it as sub.srt and run it to
> see if it works.  Adjust timing and text to your needs.  Run MEcoder
> with -sub sub.srt

When I do this, the newly encoded video does not have the subtitles in
the video stream. 

---------------------------------------------
mencoder -ss 4485 -endpos 20 -vf harddup -nosound -sub /var/tmp/generic.srt \
	-ovc copy -noskip -mc 0 walk.mkv -o /tmp/folder.avi
MEncoder 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
success: format: 0  data: 0x0 - 0x1eae4e28
libavformat version 56.40.101 (external)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (mp3), -aid 0, -alang eng, English AC3 640 kbps
[lavf] stream 2: subtitle (ass), -sid 0, -slang eng, English Forced
VIDEO:  [H264]  640x480  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:44  fourcc:0x34363248  size:640x480  fps:23.976  ftime:=0.0417
videocodec: framecopy (640x480 0bpp fourcc=34363248)
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Pos:  20.0s    480f (79%)  0.00fps Trem:   0min   1mb  A-V:0.000 [578:0]]
Writing index...
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.

Video stream:  577.694 kbit/s  (72211 B/s)  size: 1445680 bytes  20.020 secs  480 frames
---------------------------------------------

As I said, the output video does not have subtitles in the video stream.
No matter, let's try again with stage two:

---------------------------------------------
mplayer -sub /var/tmp/generic.srt -nosound \
	-vo jpeg:outdir=/tmp/frames /tmp/folder.avi
MPlayer 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /tmp/spoons2.avi.
libavformat version 56.40.101 (external)
AVI file format detected.
[aviheader] Video stream found, -vid 0
VIDEO:  [H264]  640x480  0bpp  23.976 fps  577.7 kbps (70.5 kbyte/s)
Clip info:
 Software: MEncoder 1.2.1 (Debian), built with gcc-5.3.1
SUB: Added subtitle file (1): /var/tmp/generic.srt
Load subtitles in /tmp/
jpeg: Progressive JPEG disabled.
jpeg: Baseline JPEG enabled.
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 2.39:1 - prescaling to correct movie aspect.
[swscaler @ 0x7f47fa231fa0]bicubic scaler, from yuv420p to rgb24 using MMXEXT
[swscaler @ 0x7f47fa231fa0]using unscaled yuv420p -> rgb24 special converter
VO: [jpeg] 640x480 => 1146x480 RGB 24-bit 
jpeg: output directory: /tmp/frames
V:  20.0 480/480 10% 26%  0.0% 0 0 


Exiting... (End of file)
---------------------------------------------

And now NONE of the output JPEG frames have subtitles. So what do I need
to do?

> BTW, why did you not post this at:
> https://lists.mplayerhq.hu/mailman/listinfo/mencoder-users ?

Well, I'm not subscribed to that and didn't know about it. But since
I'm using both mplayer and mencoder and as it possibly could be solved
in either, I'd need a crosspost at minimum.

Elijah


More information about the MPlayer-users mailing list