Repository: yt-dlp/yt-dlp
File: yt_dlp/extractor/adobetv.py (Python)

Code before:
from .common import InfoExtractor
from ..utils import (
    ISO639Utils,
    clean_html,
    determine_ext,
    float_or_none,
    int_or_none,
    join_nonempty,
    url_or_none,
)
from ..utils.traversal import traverse_obj


class AdobeTVVideoIE(InfoExtractor):
    IE_NAME = 'adobe:tv'
    _VALID_URL = r'https?://video\.tv\.adobe\.com/v/(?P<id>[^/?#]+)'
    _EMBED_REGEX = [r'<iframe[^>]+src=[\'"](?P<url>(?:https?:)?//video\.tv\.adobe\.com/v/[^\'"]+)']
    _TESTS = [{
        'url': 'https://video.tv.adobe.com/v/2456',
        'md5': '43662b577c018ad707a63766462b1e87',
        'info_dict': {
            'id': '2456',
            'ext': 'mp4',
            'title': 'New experience with Acrobat DC',
            'description': 'New experience with Acrobat DC',
            'duration': 248.522,
            'thumbnail': r're:https?://images-tv\.adobe\.com/.+\.jpg',
        },
    }, {
        'url': 'https://video.tv.adobe.com/v/3463980/adobe-acrobat',
        'info_dict': {
            'id': '3463980',
            'ext': 'mp4',
            'title': 'Adobe Acrobat: How to Customize the Toolbar for Faster PDF Editing',
            'description': 'md5:94368ab95ae24f9c1bee0cb346e03dc3',
            'duration': 97.514,
            'thumbnail': r're:https?://images-tv\.adobe\.com/.+\.jpg',
        },
    }]
    _WEBPAGE_TESTS = [{
        # https://video.tv.adobe.com/v/3442499
        'url': 'https://business.adobe.com/dx-fragments/summit/2025/marquees/S335/ondemand.live.html',

Review comment (suggestion):
```suggestion
    _EMBED_REGEX = [r'<iframe[^>]+src=[\'"](?P<url>(?:https?:)?//video\.tv\.adobe\.com/v/\d+)']
```

```suggestion
    _EMBED_REGEX = [r'<iframe[^>]+src=[\'"](?P<url>(?:https?:)?//video\.tv\.adobe\.com/v/\d+(?:/[^\'"]+)?)']
```

Code after:
from .common import InfoExtractor
from ..utils import (
    ISO639Utils,
    clean_html,
    determine_ext,
    float_or_none,
    int_or_none,
    join_nonempty,
    url_or_none,
)
from ..utils.traversal import traverse_obj


class AdobeTVVideoIE(InfoExtractor):
    IE_NAME = 'adobetv'
    _VALID_URL = r'https?://video\.tv\.adobe\.com/v/(?P<id>\d+)'
    _EMBED_REGEX = [r'<iframe[^>]+src=["\'](?P<url>(?:https?:)?//video\.tv\.adobe\.com/v/\d+)']
    _TESTS = [{
        'url': 'https://video.tv.adobe.com/v/2456',
        'md5': '43662b577c018ad707a63766462b1e87',
        'info_dict': {
            'id': '2456',
            'ext': 'mp4',
            'title': 'New experience with Acrobat DC',
            'description': 'New experience with Acrobat DC',
            'duration': 248.522,
            'thumbnail': r're:https?://images-tv\.adobe\.com/.+\.jpg',
        },
    }, {
        'url': 'https://video.tv.adobe.com/v/3463980/adobe-acrobat',
        'info_dict': {
            'id': '3463980',
            'ext': 'mp4',
            'title': 'Adobe Acrobat: How to Customize the Toolbar for Faster PDF Editing',
            'description': 'md5:94368ab95ae24f9c1bee0cb346e03dc3',
            'duration': 97.514,
            'thumbnail': r're:https?://images-tv\.adobe\.com/.+\.jpg',
        },
    }]
    _WEBPAGE_TESTS = [{
        # https://video.tv.adobe.com/v/3442499
        'url': 'https://business.adobe.com/dx-fragments/summit/2025/marquees/S335/ondemand.live.html',