Render Videos From Marker Ranges?
This isn't possible out-of the box, but it can be done with a script:

This isn't an addon, just paste the script into the text editor and run it, you may want to change the variables at the top.

# frames to use before and after
FRAMES_PAD = 0
# real render 3d scene or GL preview?
USE_OPENGL = True
# handle marker switching cameras
USE_MARKER_CAMERAS = True

import bpy
from bpy import context

wm = context.window_manager
scene = context.scene
# store original output
filepath_orig = scene.render.filepath
frame_range = scene.frame_start, scene.frame_end

markers = sorted(scene.timeline_markers, key=lambda m: m.frame)

# progress in cursor (countdown)
wm.progress_begin(0, len(markers) - 1)
scene.frame_start = 1

if USE_MARKER_CAMERAS:
    markers_camera = [m.camera for m in markers]

    def markers_cameras_restore():
        for m, c in zip(markers, markers_camera):
            m.camera = c


    def markers_cameras_disable():
        for m in markers:
            m.camera = None


for i in range(1, len(markers)):
    m_start = markers[i - 1]
    m_end = markers[i]

    # just in case
    if m_start.frame == m_end.frame:
        continue

    scene.frame_end = m_end.frame + FRAMES_PAD
    scene.frame_start = m_start.frame - FRAMES_PAD
    scene.render.filepath = filepath_orig + "_######_" + m_start.name

    if USE_MARKER_CAMERAS:
        markers_cameras_restore()
        scene.frame_set(scene.frame_start)
        if m_start.camera:
            scene.camera = m_start.camera
        markers_cameras_disable()

    wm.progress_update(len(markers) - (i + 1))

    if USE_OPENGL:
        bpy.ops.render.opengl(animation=True)
    else:
        bpy.ops.render.render(animation=True)


# restore original values
scene.render.filepath = filepath_orig
scene.frame_start, scene.frame_end = frame_range

if USE_MARKER_CAMERAS:
    markers_cameras_restore()

wm.progress_end()