Create Video as Iframe from URL

Release 3.1.2501 and above, Release 2.19.2501 and above.

When you register domains in editor.upload.video.embedURLTransformers, videos from those URLs are created as iframes when uploaded.

The following are the default supported Domain settings. URLs other than these are created as video tags.

// synapeditor.config.js
'editor.upload.video.embedURLTransformers': {
    'youtube.com': {
        pathParts: {
            'shorts': 'https://www.youtube.com/embed/{id}',
            'live': 'https://www.youtube.com/embed/{id}',
            },
        parameters: {
            'v': 'https://www.youtube.com/embed/{id}'
        }
    },
    'youtu.be': {
        pathParts: {
            '': 'https://www.youtube.com/embed/{id}'
        }
    },
    'tv.naver.com': {
        pathParts: {
            'v': 'https://tv.naver.com/embed/{id}',
            'h': 'https://tv.naver.com/embed/{id}'
        }
    },
    'tv.kakao.com': {
        pathParts: {
            'livelink': 'https://play-tv.kakao.com/embed/player/livelink/{id}',
            'cliplink': 'https://play-tv.kakao.com/embed/player/cliplink/{id}',
            'v': 'https://play-tv.kakao.com/embed/player/cliplink/{id}'
        }
    },
    'play-tv.kakao.com': {
        pathParts: {
            'livelink': 'https://play-tv.kakao.com/embed/player/livelink/{id}',
            'cliplink': 'https://play-tv.kakao.com/embed/player/cliplink/{id}',
            'v': 'https://play-tv.kakao.com/embed/player/cliplink/{id}'
        },
    },
    'chzzk.naver.com': {
        pathParts: {
            'clips': 'https://chzzk.naver.com/embed/clip/{id}'
        }
    },
    'vod.sooplive.co.kr': {
        pathParts: {
            'player': 'https://vod.sooplive.co.kr/player/{id}/embed'
        }
    },
    'play.sooplive.co.kr': {
        pathParts: {
            '': 'https://play.sooplive.co.kr/{id}/embed'
        }
    },
    'vimeo.com': {
        pathParts: {
            '': 'https://player.vimeo.com/video/{id}'
        }
    },
    'player.vimeo.com': {
        pathParts: {
            'video': 'https://player.vimeo.com/video/{id}'
        }
    },
}
CompositionDescriptionExample
pathPartsSets the path that precedes the ID in the URL.
If that path exists, set the embedTemplate to transform to.
See pathParts below.
parameterA parameter in the URL where the ID is set as the value of a specific key.
If that key exists, set the embedTemplate to transform to.
See parameter below.

pathParts

'youtu.be': {
    pathParts: {
        '': 'https://www.youtube.com/embed/{id}' // when the ID is right after the domain
    }
}

https://youtu.be/-VI9Jp5807s → https://www.youtube.com/embed/-VI9Jp5807s

'youtube.com': {
  pathParts: {
        'shorts': 'https://www.youtube.com/embed/{id}', // when the ID is after 'shorts'
        'live': 'https://www.youtube.com/embed/{id}'  // when the ID is after 'live'
    }
}

https://www.youtube.com/shorts/T5fbNMuTTlA → https://www.youtube.com/embed/T5fbNMuTTlA

https://www.youtube.com/live/EGxyllsUt6E → https://www.youtube.com/embed/EGxyllsUt6E

parameter

'youtube.com': {
    parameters: {
        'v': 'https://www.youtube.com/embed/{id}'
    }
}

https://www.youtube.com/watch?v=-VI9Jp5807s → https://www.youtube.com/embed/-VI9Jp5807s

When https://youtu.be/-VI9Jp5807s URL is transformed to https://www.youtube.com/embed/-VI9Jp5807s, the domain changes from youtu.be to youtube.com.

In this case, youtube.com must also be registered in editor.upload.video.embedURLTransformers for the iframe to be created.

Original URLTransformed URLPreview
https://youtu.be/-VI9Jp5807s
Original URL form
https://www.youtube.com/embed/-VI9Jp5807s
Transformed embed URL form
Insert YouTube URL