user22401: I found this page (I can't comment or answer there so here's a new question):
Render srt subtitles to video?
with this line which works fine:
ffmpeg -i input.mp4 -filter:v subtitles=subtitle.srt -c:a copy -c:v libx264 -crf 22 -preset veryfast output.mp4

I need the following and can't get it done:

subtitles lines start from the TOP of the canvas
subtitles have bigger character size and thicker stroke
subtitles area has a semi-transparent dark background

mencoder might be another viable manner to do it.

user1760: Aegisub
Use ASS subtitles. Style them in Aegisub. You can style each letter or word individually, or apply the desired styling to all subtitles. See the documentation for detailed instructions.

Example ASS file:
[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None

[Aegisub Project Garbage]
Last Style Storage: Default

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,48,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,6,0,8,10,10,20,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,Top of canvas. Bigger font size. Thicker stroke.

Without Aegisub
You can apply styling via the subtitles filter force_style option in ffmpeg. This should work with any format that the subtitles filter accepts.
ffmpeg -i input -vf "subtitles=subs.srt:force_style='Alignment=6,Fontsize=48,Outline=8'" output

Refer to the example ASS file for accepted force_style options, but it will not allow you to style each letter or word individually as you can in Aegisub.
Note that ScaleX and ScaleY values when used in force_style are a factor, not a percentage, so the accurate values would be 1,1 (not 100,100) in that case.
Transparent background
This can be tricky due to some limitations of libass, but it is possible. See How to set background to subtitle in ffmpeg?

22401: <p>I found this page (I can't comment or answer there so here's a new question):</p>

<p><a href="https://video.stackexchange.com/questions/5160/render-srt-subtitles-to-video?newreg=ca036f1e34f94d65918b40afdb90f786">Render srt subtitles to video?</a></p>

<p>with this line which works fine:</p>

<pre><code>ffmpeg -i input.mp4 -filter:v subtitles=subtitle.srt -c:a copy -c:v libx264 -crf 22 -preset veryfast output.mp4
</code></pre>

<p>I need the following and can't get it done:</p>

<ul>
<li>subtitles lines start from the TOP of the canvas</li>
<li>subtitles have bigger character size and thicker stroke</li>
<li>subtitles area has a semi-transparent dark background</li>
</ul>

<p><strong>mencoder</strong> might be another viable manner to do it.</p>
 1760: <h1>Aegisub</h1>

<p>Use ASS subtitles. Style them in <a href="http://aegisub.org" rel="nofollow noreferrer">Aegisub</a>. You can style each letter or word individually, or apply the desired styling to all subtitles. See the <a href="http://docs.aegisub.org/3.2/Main_Page/" rel="nofollow noreferrer">documentation</a> for detailed instructions.</p>

<p><a href="https://i.stack.imgur.com/uFoRI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uFoRI.png" alt="enter image description here"></a></p>

<p>Example ASS file:</p>

<pre><code>[Script Info]
; Script generated by Aegisub 3.2.2
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None

[Aegisub Project Garbage]
Last Style Storage: Default

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,48,&amp;H00FFFFFF,&amp;H000000FF,&amp;H00000000,&amp;H80000000,0,0,0,0,100,100,0,0,1,6,0,8,10,10,20,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0,0,0,,Top of canvas. Bigger font size. Thicker stroke.
</code></pre>

<h1>Without Aegisub</h1>

<p>You can apply styling via the <a href="https://ffmpeg.org/ffmpeg-filters.html#subtitles" rel="nofollow noreferrer">subtitles filter</a> <code>force_style</code> option in <code>ffmpeg</code>. This should work with any format that the subtitles filter accepts.</p>

<pre><code>ffmpeg -i input -vf "subtitles=subs.srt:force_style='Alignment=6,Fontsize=48,Outline=8'" output
</code></pre>

<p>Refer to the example ASS file for accepted <code>force_style</code> options, but it will not allow you to style each letter or word individually as you can in Aegisub.</p>

<p>Note that <code>ScaleX</code> and <code>ScaleY</code> values when used in <code>force_style</code> are a factor, not a percentage, so the accurate values would be <code>1,1</code> (not <code>100,100</code>) in that case.</p>

<h1>Transparent background</h1>

<p>This can be tricky due to some limitations of libass, but it is possible. See <a href="https://stackoverflow.com/a/25880038/1109017">How to set background to subtitle in ffmpeg?</a></p>
