Созвон в Контур.Толке — готовое видео для соцсетей
На весь кадр — ваш экран, Claude или страница в браузере. Внизу — вы и гость в аккуратных кружках. Горизонтально или вертикально, без монтажа.
Без монтажа
Контент из разговора, который и так был
Эфир с экспертом, разбор, демонстрация инструмента — после звонка у вас готовый ролик, а не сырая запись, которую ещё неделю собирать.
Один кадр
Своя раскладка вместо сетки сервиса
Экран крупно, спикеры кружками, одинаково в каждом выпуске. В 16:9 для YouTube и VK или в 9:16 для Reels и Shorts — с полями под интерфейс соцсети.
Приватно
В кадре только то, что вы показываете
Одно окно Claude или одна вкладка браузера. Уведомления, другие вкладки и рабочий стол в запись не попадают.
Через Claude
Настройка — одним промптом
OBS не нужно осваивать: Claude ставит и настраивает всё сам. Гость может повторить настройку у себя тем же промптом.
Кому пригодится: экспертам и преподавателям, которые показывают работу с ИИ; ведущим рубрик с гостями; всем, у кого созвоны в Контур.Толке — а контента для соцсетей не хватает.
Порядок действий
Посмотрите, что получится — две раскладки, 16:9 и 9:16.
Настройте OBS — отдайте промпт Claude, он поставит и настроит всё сам. 10–15 минут.
Выберите формат — два переключателя в меню OBS.
Пройдите чек-лист перед записью — отметки сохранятся в браузере.
Если что-то пошло не так — раздел 7, там всё, на что уже наступали.
1Что получится
Горизонталь 16:9YouTube · VK Видео
Вертикаль 9:16Reels · Shorts
Кружки — это видео с вашей камеры и плитка гостя, вырезанная из окна Контур.Толка. Обе с белой обводкой и лёгкой цветокоррекцией.
Как это устроено
Записывает не Контур.Толк, а OBS Studio — бесплатная программа для записи и трансляций. Толк нужен для самого разговора: гость видит показ экрана как обычно. OBS в это время снимает экран напрямую и берёт видео гостя из окна Толка, поэтому картинка чёткая, а раскладка всегда одна и та же.
Что можно показывать
Экран целиком — всё подряд, включая уведомления и другие окна.
Окно Claude — только приложение Claude.
Окно браузера — одна страница без вкладок и адресной строки, см. раздел 5.
2Настроить через Claude
Проходить настройку руками не нужно. Промпт ниже описывает готовый результат, порядок работы и грабли, на которые уже наступали. Внутри есть скрипт: он рисует маски-кружки и собирает обе раскладки в файлы, которые OBS принимает через импорт.
Что понадобится
Mac и приложение Claude в режиме Cowork с подключённым компьютером — чтобы Claude мог нажимать кнопки в OBS.
Открытый Контур.Толк — чтобы Claude мог выбрать его окно.
Пять минут вашего внимания: разрешения на камеру, микрофон и запись экрана macOS выдаёт только человек.
Промпт для Claude · целиком
Настрой мне OBS Studio на этом Mac, чтобы записывать созвоны из Контур.Толка как готовые видео для соцсетей. У тебя есть доступ к моему компьютеру: делай сам, спрашивай меня только там, где нужно моё решение или системное разрешение.
## Что должно получиться
Две раскладки кадра:
- Горизонталь 16:9 (1920×1080): экран на весь кадр, внизу справа два кружка по 280 px: я и собеседник из Толка.
- Вертикаль 9:16 (1080×1920): экран сверху (область 1080×675 с отступом 260 px сверху), под ним два кружка по 440 px. Верх ~250 px и низ ~450 px в Reels и Shorts закрывают подписи и кнопки, туда ничего не ставим.
В каждой раскладке одна сцена «Запись с Толком» с источниками:
- «Экран целиком» — захват экрана (включён);
- «Окно Claude» — захват приложения Claude (выключен);
- «Окно браузера» — захват одного окна Chrome, сверху срезано 230 px: вкладка, адресная строка, закладки (выключен);
- «Я — камера» — встроенная камера, фильтры: лёгкая цветокоррекция и маска-круг, поверх белая обводка;
- «Собеседник — окно Толка» — захват окна Толка, фильтры: обрезка плитки собеседника, цветокоррекция, маска-круг, поверх обводка;
- «Звук Толка (собеседник)» — звук приложения Толк, плюс «Мой микрофон».
У экрана, окон и камеры звук выключен, чтобы голос не задваивался.
## Порядок работы
1. Проверь, что это macOS. На Windows остановись и скажи мне: источники там называются иначе, план нужно адаптировать.
2. Установи OBS Studio, если его нет: `brew install --cask obs`, а если Homebrew нет — попроси меня скачать установщик с obsproject.com. Запусти OBS. Если откроется мастер автонастройки, закрой его.
3. Системные разрешения выдаю я. Попроси меня разрешить OBS доступ к камере, микрофону и «Записи экрана и системного звука» (Системные настройки → Конфиденциальность и безопасность). После выдачи записи экрана OBS нужно перезапустить.
4. Создай маски и файлы сцен скриптом ниже. Нужен Python 3 с Pillow: если Pillow нет, поставь `pip3 install --user pillow`. Скрипт кладёт всё в «Фильмы/OBS для Толка».
5. В OBS: меню «Коллекция сцен → Импорт…», добавь оба файла «Запись Толк 16x9.json» и «Запись Толк 9x16.json», нажми «Импорт».
6. Профили: «Профиль → Дублировать» → «Горизонталь 16x9», потом ещё раз → «Вертикаль 9x16». В каждом «Настройки → Видео»: «Разрешение предпросмотра (холст)» и «Разрешение выхода» — 1920x1080 или 1080x1920. «Настройки → Вывод» → «Запись»: «Качество записи» — «Высокое качество, средний размер файла», «Формат записи» — «Гибридный MP4 (.mp4)», «Кодировщик видео» — «Аппаратный (Apple, H.264)». Папка записи — «Фильмы».
7. Выбери устройства в каждой из двух коллекций (переключение: «Профиль» + «Коллекция сцен»). Двойной клик по источнику открывает свойства:
- «Экран целиком»: «Экран» — встроенный дисплей;
- «Окно Claude»: «Экран» — встроенный дисплей, «Приложение» — Claude;
- «Я — камера»: «Устройство» — HD-камера FaceTime, «Предустановка» — High;
- «Собеседник — окно Толка»: «Способ» — «Захват окна», «Окно» — «[Толк] Толк». Толк должен быть открыт;
- «Окно браузера» оставь пустым, если я не попросил иначе.
8. Проверь глазами: скриншот превью обеих раскладок, кружки круглые, экран на месте. Сделай тестовую запись на 10 секунд и проверь файл: `ffprobe` должен показать H.264, AAC и нужное разрешение.
9. Скажи мне коротко, что готово, и что остаётся на мне: навести кружок собеседника в живом звонке (фильтр «Обрезать плитку собеседника», поля X, Y, Ширина, Высота; ширина = высота).
## Грабли, на которые уже наступали
- Кружок камеры пустой после переключения коллекции: предустановка 1920x1080 бывает недоступна. Ставь «High».
- «Вставить (дубликат)» для захвата экрана в OBS недоступен: новый источник захвата создаётся заново через «+».
- Скрытое или свёрнутое окно OBS не видит. Для окна браузера включи «Показывать полноэкранные и скрытые окна / приложения» и разверни окно.
- Во время записи пишется окно «Передача». Если включён «Режим студии» и «Передача» пустая, нажми «Переход».
- Толк при показе экрана перестраивает окно, поэтому обрезку кружка собеседника настраивают во время звонка.
- Советуй записывать в наушниках, иначе голос собеседника попадёт в микрофон дважды.
## Скрипт
```python
import json, uuid
from pathlib import Path
from PIL import Image, ImageDraw
D = Path.home() / "Movies" / "OBS для Толка"
D.mkdir(parents=True, exist_ok=True)
# --- маски и обводка ---
def draw(w, h, box, ring=0):
s = 4
im = Image.new("RGBA", (w * s, h * s), (0, 0, 0, 0))
d = ImageDraw.Draw(im)
b = [v * s for v in box]
b[2] -= 1; b[3] -= 1
if ring:
d.ellipse(b, outline=(255, 255, 255, 255), width=ring * s)
else:
d.ellipse(b, fill=(255, 255, 255, 255))
return im.resize((w, h), Image.LANCZOS)
draw(1000, 1000, (0, 0, 1000, 1000)).save(D / "маска-кружок.png")
draw(1920, 1080, (420, 0, 1500, 1080)).save(D / "маска-кружок-16x9.png")
draw(1000, 1000, (0, 0, 1000, 1000), ring=14).save(D / "обводка-кружка.png")
# --- коллекции сцен ---
P = str(D) + "/"
HK = {"libobs.mute": [], "libobs.unmute": [], "libobs.push-to-mute": [], "libobs.push-to-talk": []}
def src(name, id_, settings, vid=None, filters=None, mixers=255, mute=False):
s = {"prev_ver": 537001986, "name": name, "uuid": str(uuid.uuid4()), "id": id_,
"versioned_id": vid or id_, "settings": settings, "mixers": mixers, "sync": 0,
"flags": 0, "volume": 1.0, "balance": 0.5, "enabled": True, "muted": mute,
"push-to-mute": False, "push-to-mute-delay": 0, "push-to-talk": False,
"push-to-talk-delay": 0, "hotkeys": dict(HK), "deinterlace_mode": 0,
"deinterlace_field_order": 0, "monitoring_type": 0, "private_settings": {}}
if filters:
s["filters"] = filters
return s
def flt(name, id_, settings, vid=None):
return {"prev_ver": 537001986, "name": name, "uuid": str(uuid.uuid4()), "id": id_,
"versioned_id": vid or id_, "settings": settings, "enabled": True,
"mixers": 0, "sync": 0, "flags": 0, "volume": 1.0, "balance": 0.5, "muted": False,
"hotkeys": {}, "deinterlace_mode": 0, "deinterlace_field_order": 0,
"monitoring_type": 0, "private_settings": {}}
def look():
return flt("Лёгкая цветокоррекция", "color_filter",
{"gamma": -0.08, "brightness": 0.02, "contrast": 0.06, "saturation": 0.10,
"hue_shift": 0.0, "opacity": 1.0, "color_multiply": 4293850879,
"color_add": 4278190080}, "color_filter_v2")
def mask(path):
return flt("Кружок", "mask_filter",
{"type": "mask_alpha_filter.effect", "image_path": path}, "mask_filter_v2")
def collection(name, W, H, L):
screen = src("Экран целиком", "screen_capture", {"type": 0, "show_cursor": True, "hide_obs": True}, mute=True)
claude = src("Окно Claude", "screen_capture", {"type": 2, "application": "com.anthropic.claudefordesktop",
"show_cursor": True, "hide_obs": True}, mute=True)
browser = src("Окно браузера", "screen_capture", {"type": 1, "show_cursor": True}, mute=True)
cam = src("Я — камера", "macos-avcapture", {"use_preset": True, "preset": "AVCaptureSessionPresetHigh"},
filters=[look(), mask(P + "маска-кружок-16x9.png")], mute=True)
talk = src("Собеседник — окно Толка", "screen_capture", {"type": 1, "show_cursor": False},
filters=[flt("Обрезать плитку собеседника", "crop_filter",
{"relative": False, "left": 0, "top": 0, "cx": 600, "cy": 600}),
look(), mask(P + "маска-кружок.png")], mute=True)
talk_audio = src("Звук Толка (собеседник)", "sck_audio_capture", {"type": 1, "application": "kontur.talk"})
ring_me = src("Обводка — я", "image_source", {"file": P + "обводка-кружка.png"})
ring_talk = src("Обводка — собеседник", "image_source", {"file": P + "обводка-кружка.png"})
bg = src("Фон", "color_source", {"color": 4280295456, "width": W, "height": H}, "color_source_v3")
items, hot = [], {"OBSBasic.SelectScene": []}
def item(s, x, y, bw, bh, btype=2, crop=False, visible=True, top=0):
i = len(items) + 1
hot[f"libobs.show_scene_item.{i}"] = []
hot[f"libobs.hide_scene_item.{i}"] = []
items.append({"name": s["name"], "source_uuid": s["uuid"], "visible": visible, "locked": False,
"rot": 0.0, "align": 5, "bounds_type": btype, "bounds_align": 0, "bounds_crop": crop,
"crop_left": 0, "crop_top": top, "crop_right": 0, "crop_bottom": 0, "id": i,
"group_item_backup": False, "pos": {"x": float(x), "y": float(y)},
"scale": {"x": 1.0, "y": 1.0}, "bounds": {"x": float(bw), "y": float(bh)},
"scale_filter": "disable", "blend_method": "default", "blend_type": "normal",
"show_transition": {"duration": 300}, "hide_transition": {"duration": 300},
"private_settings": {}})
item(bg, 0, 0, W, H, btype=1)
item(screen, *L["screen"])
item(browser, *L["screen"], visible=False, top=230) # 230 px сверху: вкладка, адресная строка, закладки
item(claude, *L["screen"], visible=False)
item(talk, *L["talk"])
item(ring_talk, *L["talk"])
item(cam, *L["me"], btype=3, crop=True)
item(ring_me, *L["me"])
item(talk_audio, 0, 0, 0, 0, btype=0)
scene = src("Запись с Толком", "scene", {"id_counter": len(items), "custom_size": False, "items": items}, mixers=0)
scene["hotkeys"] = hot
scene["canvas_uuid"] = "6c69626f-6273-4c00-9d88-c5136d61696e"
return {"name": name,
"AuxAudioDevice1": src("Мой микрофон", "coreaudio_input_capture", {"device_id": "default"}),
"groups": [], "scene_order": [{"name": "Запись с Толком"}],
"current_scene": "Запись с Толком", "current_program_scene": "Запись с Толком",
"canvases": [], "current_transition": "Затухание", "transition_duration": 300,
"transitions": [], "quick_transitions": [], "saved_projectors": [], "preview_locked": False,
"scaling_enabled": False, "scaling_level": 0, "scaling_off_x": 0.0, "scaling_off_y": 0.0,
"modules": {}, "resolution": {"x": W, "y": H}, "version": 2,
"sources": [screen, browser, claude, cam, talk, talk_audio, ring_me, ring_talk, bg, scene]}
d, m, g = 280, 40, 24
h = collection("Запись Толк 16x9", 1920, 1080, {"screen": (0, 0, 1920, 1080),
"me": (1920 - m - d, 1080 - m - d, d, d), "talk": (1920 - m - 2 * d - g, 1080 - m - d, d, d)})
d, g = 440, 60
x0 = (1080 - 2 * d - g) // 2
v = collection("Запись Толк 9x16", 1080, 1920, {"screen": (0, 260, 1080, 675),
"talk": (x0, 1010, d, d), "me": (x0 + d + g, 1010, d, d)})
for c in (h, v):
(D / f"{c['name']}.json").write_text(json.dumps(c, ensure_ascii=False, indent=2), encoding="utf-8")
print("Готово:", D)
```
Как отдать
Скопируйте промпт, вставьте в новый чат Claude и отправьте. Дальше Claude будет спрашивать только про разрешения. В конце он пришлёт скриншоты обеих раскладок и проверит тестовую запись.
Одно остаётся на вас: навести кружок на гостя во время настоящего звонка — шаг 05 в разделе 4.
3Выбрать формат
В верхнем меню OBS два переключателя. Меняйте оба, иначе размер кадра и раскладка не совпадут.
Нужно
Меню «Профиль»
Меню «Коллекция сцен»
Горизонтальное видео
Горизонталь 16x9
Запись Толк 16x9
Вертикальное видео
Вертикаль 9x16
Запись Толк 9x16
Записи сохраняются в папку «Фильмы» в MP4 — формат, который принимают все соцсети. Имя файла — дата и время записи.
4Перед каждой записью
Наденьте наушники
Без них голос гостя из динамиков попадёт в микрофон и прозвучит в записи дважды.
Зайдите во встречу в Контур.Толке
OBS берёт видео гостя из окна Толка — окно должно быть открыто, не свёрнуто.
Откройте OBS и выберите формат
Профиль и коллекцию сцен — по таблице в разделе 3.
Проверьте окно Толка
После перезапуска Толка OBS его теряет. Двойной клик по Собеседник — окно Толка → поле «Окно» → [Толк] Толк → «OK».
Наведите кружок на гостя
Выделите Собеседник — окно Толка → «Фильтры» → Обрезать плитку собеседника. X и Y — откуда вырезать, Ширина и Высота — размер. Держите их равными, иначе кружок станет овалом.
Выберите, что показывать
В списке «Источники» глазик включён только у одного из трёх: Экран целиком, Окно Claude или Окно браузера.
Включите показ экрана в Толке
Если гость должен видеть то же, что и зрители. Толк при этом перестраивает окно — ещё раз проверьте кружок из шага 05.
Сверьте «Передачу» и нажмите «Начать запись»
Записывается то, что в окне «Передача». Если там пусто — нажмите «Переход». В конце — «Остановить запись».
0 из 8
5Одна вкладка браузера
В записи будет одна страница — без других вкладок, закладок, уведомлений и остального экрана. В другом окне Chrome в это время можно спокойно работать.
Вынесите вкладку в отдельное окно
Потяните вкладку мышкой за пределы окна Chrome и отпустите. Держите в этом окне только её: если открыть там другую вкладку, запишется она.
Выберите это окно в OBS
Двойной клик по Окно браузера → «Способ»: Захват окна → в списке «Окно» — [Google Chrome] название страницы → «OK». Окна нет в списке — включите «Показывать полноэкранные и скрытые окна / приложения».
Переключите глазики
Включите у «Окно браузера», выключите у «Экран целиком» и «Окно Claude», иначе они будут видны по краям.
Проверьте верх кадра
Вкладка, адресная строка и закладки уже срезаны: сверху обрезано 230 px. Если что-то видно или срезан кусок страницы — правый клик по Окно браузера → «Преобразовать» → «Изменить преобразование…» → блок «Обрезка», поле «Сверху».
Для гостя
В Толке тоже лучше показывать не весь экран, а только это окно, если Толк даёт выбрать окно. Тогда лишнего не увидит и гость.
6Внешний вид
Цветокоррекция
На обоих кружках уже стоит фильтр Лёгкая цветокоррекция: чуть светлее, мягче контраст, тёплый оттенок. Отключить — «Фильтры» источника, глазик у фильтра.
Фон гостя
Видео гостя приходит из Контур.Толка уже готовым: OBS его фон не изменит. Если нужен размытый фон, гость включает его у себя.
Положение кружков
Кружки можно перетащить в превью OBS, если они закрывают нужное на экране. Выделите кружок и его обводку с зажатым Cmd и двигайте вместе.
7Если что-то не так
Что видноЧто сделать
Кружок камеры пустой
После переключения коллекции камера не успевает запуститься.
Сдвинулась раскладка Толка: начался показ, вошёл участник, окно поменяло размер.
Поправьте X и Y в фильтре обрезки (шаг 05). Кружок совсем пустой — выберите окно заново (шаг 04).
Голос гостя звучит дважды или с эхом
Звук из динамиков попадает в микрофон, или в микшере включён лишний источник.
Наденьте наушники. В «Микшере звука» должны работать только Мой микрофон и Звук Толка (собеседник). У экрана, окон и камеры звук выключен специально — перечёркнутый динамик.
Запись чёрная или не тот кадр
Включён «Режим студии»: слева «Предпросмотр», справа «Передача», записывается «Передача».
Нажмите «Переход» или выключите «Режим студии» кнопкой справа внизу.
Окна браузера нет в списке или в кадре пусто
Chrome свёрнут или скрыт — такое окно OBS не видит.
Разверните окно. В свойствах Окно браузера включите «Показывать полноэкранные и скрытые окна / приложения» и выберите окно заново.
8Где лежат настройки
Фильмы/OBS для Толка/
Запись Толк 16x9.json ← раскладки: при поломке «Коллекция сцен → Импорт…»
Запись Толк 9x16.json
маска-кружок.png ← маски и обводка: не переименовывать
маска-кружок-16x9.png
обводка-кружка.png
Если файлы потерялись, скрипт из промпта в разделе 2 создаст их заново — достаточно попросить Claude выполнить только его.