У вас есть еще одна трансляция с таким же ключом Youtube

Electrum не подключается — что делать?

Эта ошибка популярна, хоть происходит и не часто. Но увидеть, как клиент повис, и средства не получается перевести: зрелище не из приятных.

Нет подключения к серверу

Нажмите на красный кружочек, и убедитесь что в разделе «Server» у вас стоит галочка «Select server automatically». Возможно ненадолго разорвалась связь с каким-то из серверов, но если он перестанет отвечать, клиент сам подберет новый сервер и снова заработает.

Что может прозвучать банально, но требуется проверить: ваше подключение к интернету, должно быть стабильным в первую очередь.

Экспорт приватного ключа

Я УХОЖУ с YouTube?! ЧТО БУДЕТ с КАНАЛОМ ДАЛЬШЕ?

Если сервер Electrum не может соединиться с компьютером на протяжении часов или даже дней, а монеты срочно нужны вам, вы всегда можете вывести их. Для этого переходим в раздел «Addresses» и нажимаем правую кнопку мыши на каждом адресе с балансом. А дальше пункт « Private key ».

Вы получите приватный ключ Electrum вида:

Это и есть наш адрес с монетами. Затем можно импортировать его в другой клиент или веб-версию (с опцией импорта приватных ключей), восстановив доступ к средствам. Например такую функцию поддерживает Trust Wallet.

Копируем его и сохраняем.

Либо массово экспортируем все имеющиеся адреса через меню «Wallet» (Кошелёк) > «Private keys» (Приватные ключи) > «Export» (Экспорт). Вы увидите список с адресами и их приватными ключами через пробел.

Приватный ключ даёт мгновенный доступ к средствам, и не защищен паролем. Берегите его.

«Bitcoin address in invalid» — кошелек Electrum не позволяет провести транзакцию

Была допущена ошибка при копировании адреса, потому транзакция невозможна. Чтобы убедиться что адрес существует, посетите любой обозреватель блоков (например blockchain.com: и введите этот адрес в строку поиска. Если адрес не будет найден, значит при копировании ошиблись.

Иногда пользователь копирует адрес вместе с приставкой bitcoin:1K5bjUHH236rVs1gsHYxupaSazqN4EzAvu. Попробуйте отделить и скопировать только в таком виде 1K5bjUHH236rVs1gsHYxupaSazqN4EzAvu.

Транзакция в статусе «Unconfirmed»

Означает, что перевод транслирован в сеть и ожидает включения в блок. Скорость подтверждения зависит от прикреплённой комиссии (в размере sat/vbyte).

На вкладке «История» можно нажать ПКМ на транзакцию, которая долго на подтверждается, и прибавить комиссию, перезаписав транзакцию (см. как рассчитать комиссию в заголовке ниже).

Единственный Настоящий Снимок Нашей Земли

Даже если вы ничего не будете делать, через примерно 72 часа транзакция сама будет отвергнута сетью, и Биткоины снова можно будет тратить с адресов.

Транзакция в статусе «Unconfirmed parent»

Блокчейн – это непрерывная цепочка из подтверждённых транзакций. Если образовать очередь из трат, где одна неподтверждённая транзакция сразу тратится, ещё не войдя в блок, у неё появится и неподтверждённый предок.

Этот статус означает, что ваша транзакция будет подтверждена только после того, как родительская транзакция будет подтверждена.

Транзакция в статусе «Local»

Была собрана, подписана, но не транслирована в сеть. Чтобы отправить её на подтверждение, нажмите на эту транзакцию в «Истории» (или откройте подробности, кликом ПКМ на ней) и транслируйте («Broadcast») её.

Если же такой опции нет, то попробуйте открыть меню ПКМ и удалить её из истории, а затем повторить с большей комиссией.

В случае других проблем со статусом «Local» также перезагрузите клиент Electrum и убедитесь, что он синхронизирован с сетью (горит зелёный кружок в правом нижнем углу).

Слишком большая комиссия TrustedCoin (Сброс 2FA)

2-факторная аутентификация – это дополнительная опция от сервиса, поверх кошелька Electrum. Со временем комиссия с участием сервиса TrustedCoin может показаться вам неоправданно большой.

Чтобы отключить 2FA, просто создайте ещё один кошелёк «Стандартный кошелёк», выберите пункт «У меня уже есть seed -фраза», и доступ к балансам восстановится уже без 2ФА.

После восстановления кошелька из сид -фразы нет балансов

Первое, что вы должны проверить: действительно ли ваша фраза создавалась в Electrum, не было ли в ней дополнительных слов, и установлена ли у вас последняя версия Electrum.

*Дополнительные слова нужно вводить после того, как вы поставите галочку через «Опции > Расширить этот seed при помощи пользовательских слов» на этапе «Введите seed -фразу».

Если вы уверены, что сид правильный, но балансы всё же пусты – остаётся только попробовать найти адрес и экстрактировать приватный ключ, меняя пути деривации.

На GitHub есть инструмент ElectrumSeedTester.

Нажмите Code > Download ZIP, скачайте архив и распакуйте папку с HTML-файлом.

electrum-seed-scanner-github-derivation-path

Откройте из папки документ ElectrumSeedTester-standalone.html. Он откроется на вашем компьютере и никак не связан с открытой сетью. В поле «BIP39 Mnemonic» вставьте вашу сид фразу.

В блоке «Derivation path» поменяйте варианты рядом со строкой «Script Semantics». Ниже в «Derived Addresses» появятся адреса и их приватные ключи. Попробуйте поискать среди них свой адрес с балансом.

electrum-сид-путь-деривации

Если нашли – скопируйте рядом с ним приватный ключ, импортируйте его в новый Electrum кошелёк, и перешлите эти монеты с приватного ключа на адрес, что принадлежит новому сид у.

приватный-ключ-из-пути-деривации-электрума

Я потерял сид -фразу

Если у вас ещё есть доступ в кошелёк, срочно зайдите в настройки Кошелёк > Seed и выпишите её.

Если доступа в кошелёк уже нет, попробуйте выполнить в Electrum Файл > Открыть и поискать этот кошелёк в папке среди файлов формата wallet.dat. А затем и на всём компьютере через поиск по формату .dat.

Во всех остальных случаях восстановить кошелёк Электрум без фразы невозможно.

Рекламируйте с BitOffer.ru

Рекламируйте с BitOffer.ru

Источник: electrum.ru

Повышайте качество ваших прямых трансляций в Instagram: трансляция с вашего ПК

Если вы часто используете опцию выступать вживую на Instagram Тебя это заинтересует. Мы расскажем вам все, что вам нужно для трансляции с ПК и, таким образом, поднять качество ваших живых выступлений. Если вы хотите больше контроля настройки среди других преимуществ, вы должны увидеть, как это делается. Потому что это совсем не сложно.

Требования, чтобы выполнить прямо в Instagram с ПК

Трансляция Instagram с вашего ПК

CASH MACHINE David Pontoizeau (rés.

Please enable JavaScript

Те, кто регулярно пользуется Instagram, вероятно, продолжат просить сегодня о двух вещах: приложении, адаптированном для IPad и те же функции, что и в телефоне на вашем компьютере. Первое, что мы собираемся оставить в резервный Режим , на втором кажется, что батареи ставятся. Недавно они добавили опцию отвечать на сообщения с рабочего стола , но есть еще некоторые варианты, подобные тем, которые нравятся другим платформам: возможность делать это прямо с компьютера.

  • OBS Studio , приложение для записи видео и потокового вещания. Есть и другие варианты, но этот бесплатный и работает довольно хорошо. Вы можете скачать его с официального сайта для и Windows, и MacOS, и Linux
  • Веб-камера или граббер, чтобы иметь возможность использовать внешний источник видео, такой как камера DSLR или подобное
  • Сервис, способный генерировать Ключ RTMP опубликовать в своем аккаунте Instagram. Два варианта: Instafeed и YellowDuck .
Еще по теме:  Как сделать скамейку Ютуб

Если у вас есть это, процесс так же прост, как следовать этим пошаговым инструкциям. Конечно, то, что мы собираемся показать вам, является базой, отсюда вы должны выяснить, какие варианты персонализации или как вы могли бы воспользоваться этим более широким контролем для обогащения ваших живых выступлений.

Как сделать прямой переход на Instagram с компьютера

Первым шагом является скачать OBS на свой компьютер и запустите приложение. После открытия в главном окне создайте новую сцену, которую можно назвать, например, Direct Instagram. Теперь, когда у вас есть, нажмите на кнопку настроек.

В настройках, если вы перейдете в раздел видео, вы увидите, что вы можете установить Базовое разрешение холста и выходное разрешение. Там вы должны использовать разрешение 750 х 1334 пикселей , Это даст формат с соотношением сторон, который будет отображаться непосредственно в социальной сети.

Следующим шагом является добавление остальных элементов и шрифтов, которые вы хотите показать. Например, если вы собираетесь использовать веб-камеру команды, то вы выбираете ее, и, если это изображение с камеры через устройство захвата, хорошо. Перейти к Источники раздел и там мы выбираем значок + добавить это. В выпадающем списке вы выберите тип шрифта.

В случае зеркальных или беззеркальных камер вам придется подключить их через видеовыход к устройству захвата. Не так давно мы показали вам некоторые рекомендуемые модели, когда мы говорили о как использовать ваш смартфон или другие камеры в качестве веб-камеры , Наши любимые модели это:

То же самое можно сделать с микрофоном или аудиоисточниками, которые вы хотите использовать, выберите те, которые вас интересуют, и помните, что вы можете регулировать уровни независимо друг от друга.

Наконец, вы можете настроить некоторые аспекты, такие как дизайн фона, если видео не занимает весь холст, размещает перекрывающиеся элементы и т. Д. Здесь необходимо изучить все, что предлагает OBS.

Со всем, что вы хотите, последний шаг — отправить тот контент, который вы захватываете с помощью OBS, в свою учетную запись Instagram. Для этого вам нужно будет использовать сервис, способный генерировать Ключ RTMP отправить аудио и видео.

Если вы не знаете, что такое код RTMP, мы быстро объясним его вам. RTMP — это протокол, который позволяет передавать видео, аудио и другие данные через Интернет. , Подавляющее большинство потоковых платформ совместимы с ним и генерируют пароль и URL, чтобы вы могли отправлять сигнал из таких приложений, как OBS или аналогичных.

Instagram изначально не поддерживает эту опцию, но с помощью таких сервисов, как Instafeed или YellowDuck, вы можете сгенерировать их, а затем они позаботятся о подключении к вашей учетной записи для выдачи. Для этого вам нужно будет предоставить им свое имя пользователя и пароль. Это безопасно, но имейте это в виду в любом случае.

Если вы выберете InstaFeed, вам нужно будет только получить доступ к его веб-сайту. В случае с YellowDuck есть приложение для Windows и macOS. Как только вы запустите его и войдете в свой профиль в Instagram, вы увидите, что они предоставляют вам RTMP-адрес и ключ потока , Эти два значения — те, которые вы должны будете скопировать, вернуться в OBS и перейти к Настройки -> Проблема и в Сервисе выберите Пользовательский. Введите скопированные данные, примите и уходите. Теперь вы можете начать прямую трансляцию в Instagram с вашего компьютера.

Источник: itigic.com

Круглосуточная трансляции своих видео на YouTube

Последнее время в качестве хобби снимаю на видео лекции знакомого психолога. Отснятый материал монтирую и публикую на своём сайте. Месяц назад я загорелся идеей организовать круглосуточную трансляцию этих лекций на YouTube в режиме 24/7. Этакий тематический «телеканал», посвященный личностному росту.

Как сделать обычную трансляцию я знаю. А вот как сделать так, чтобы это была трансляция именно видео-файлов? Чтобы она шла 24/7, была гибкой, максимально автономной и при этом никак не зависела от моего домашнего компьютера. Это мне и предстояло выяснить.

На поиск решения ушло несколько дней. Я изучил множество форумов и различных мануалов без которых моя трансляция просто бы не получилась. И теперь, когда шалость удалась, я чувствую потребность поделиться своим решением. Так появилась эта статья.

Если коротко, то итоговое решение получилось следующим: VPS + ffmeg + bash-скрипт. Под катом я описываю проделанные шаги и рассказываю про «подводные камни», которые обнаружились при организации трансляции.

Шаг 1 – откуда будет идти трансляция?

В самом начале нужно было определиться откуда будет вестись трансляция, где будет её источник. Самое первое, что приходило в голову – с домашнего компьютера. Собрать видео в плейлист и запустить их воспроизведение в любом видеоплеере. Затем захватить изображение с экрана и транслировать его на YouTube.

Но я почти сразу отмёл этот вариант т.к. для его реализации нужно держать домашний компьютер постоянно включенным, а это шум от кулеров даже ночью и увеличенное потребление электроэнергии (+100-150 кВт*ч каждый месяц). И получается, что домашним компьютером на время трансляции пользоваться будет нельзя т.к. любое шевеление мышкой будет видно в трансляции.

Дальше я стал смотреть в сторону облачных сервисов. Искал готовый сервис, куда бы можно было загрузить свои видео или, например, вставить ссылки на видео с YouTube и это бы все упаковывалось в одну нон-стоп трансляцию. Но ничего подходящего не нашел. Возможно плохо искал.

Единственное что-то ± подходящее под функционал – это restream.io, сервис, который помогает вести одновременную трансляцию на несколько платформ. У них вроде можно загружать свои видео. Но этот сервис создавался совсем для других целей и они рассчитывают, что трансляция будет длиться всего пару часов. Думаю, что если через этот сервис получилось бы организовать круглосуточную трансляцию, то это бы выстрелило в десятки, а то и сотни долларов в месяц. А трансляцию все же хотелось организовать либо бесплатно, либо с минимальными финансовыми вложениями.

Стало понятно, что под трансляцию нужно или отдельное устройство или вообще отдельный компьютер. Думал в сторону чего-нибудь вроде Raspberri Pi. А чего? Кулера у него нет. Записал видео на флешку, воткнул Ethernet-кабель и пускай лежит себе где-нибудь в укромном месте, трансляцию ведёт.

Вариант. Но ни самой платы, ни опыта работы с ней у меня не было, поэтому от этого варианта я тоже отказался.

В итоге я наткнулся на некое обсуждение, где обсуждали создание собственного сервера трансляции. Это было не совсем то, что я искал, но основную мысль я уловил – можно же использовать сервер! В том обсуждении предлагали использовать связку VPS + nginx + OBS. Стало понятно, что эта связка может подойти и мне.

Еще по теме:  Как стать графическим дизайнером Ютуб

Смущало лишь то, что я никогда не администрировал сервера и мне казалось, что свой выделенный сервер – это заморочено и дорого. Решил узнать сколько будет стоить арендовать сервер в минимальной комплектации и был приятно удивлен.

image

Цены указаны в белорусских рублях и это просто крохи. Для понимания, 8 белорусских рублей – это где-то 3.5 доллара или 240 российских рублей. За месяц использования полноценного компьютера, который включен 24/7 и имеет быстрый доступ в Интернет. Почему-то это открытие стало очень радостным для меня и я несколько дней ходил жутко довольный словно ребенок, который открыл для себя космические ракеты 🙂

К слову, я воспользовался предложением первого же сайта, который выдал мне Google по запросу «аренда VPS». Возможно есть ещё более бюджетные решения, но эта цена меня устроила и дальше я не искал.

При создании сервера можно выбрать операционную систему, под управлением которой он будет работать. На любой из перечисленных систем можно организовать трансляцию и делать выбор стоит исходя из ваших предпочтений и финансовых возможностей (за сервер с Windows просят дополнительную плату). Я выбрал CentOS. Просто потому что у меня раньше был небольшой опыт работы с ней.

image

Шаг 2 – настройка сервера

Первое, что нужно после создания сервера – это подключиться к нему по SSH. По-началу я использовал PuTTy, но потом стал использовать приложение Secure Shell App, которое запускается в Google Chrome. Так мне оказалось удобнее.

Дальше я изменил имя хоста, настроил синхронизацию времени на сервере, обновил систему, возился с iptables… и сделал еще куча вещей, но не потому что это было необходимо. Просто мне интересно было настраивать сервер и у меня это получалось. Люблю когда получается 🙂

А вот те шаги, которые нужно сделать:

  1. Подключить репозиторий EPEL.
  2. Поднять FTP-сервер (я выбрал vsftp).
  3. Установить ffmpeg.

Итак, как я уже писал раньше, мне нужна была связка VPS + nginx + OBS. VPS – готово. Но вот по остальным пунктам стали возникать вопросы. OBS – это программа для проведения трансляций, Open Broadcaster Software. И оно работает только с потоками т.е. например, берет изображение с веб-камеры и его транслирует. Или запись экрана.

Или уже идущую трансляцию перенаправляет на другой сайт. А у меня нет потока, у меня есть только набор видео-файлов, который нужно сделать потоком.

Стал копать в эту сторону и наткнулся на ffmpeg. FFmpeg – это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах.

И я очень удивился сколько всего ffmpeg может. Хочешь – вытянет звук из видео. Хочешь – вырежет фрагмент видео без перекодирования. Хочешь – сконвертирует из одного формата в другой. И много-много чего ещё. Вплоть до того, что ему можно указать файл, он его преобразует в поток и сам передаст на YouTube.

Всё, цепочка собрана. Осталось только доработать нюансы.

Шаг 3 – настройка трансляции

Создаём трансляцию на YouTube. На этом этапе нам нужна только ссылка и ключ трансляции. На скриншоте ниже они выделены красным.

image

Далее загружаем на сервер видео-файлы, которые планируем транслировать. Собственно, FTP только для этого этапа и нужен. Если у вас есть другой удобный способ загрузки файлов на сервер, то FTP-сервер можно не поднимать.

Передаём поток на YouTube. Для старта вещания необходимо запустить ffmpeg c несколькими атрибутами. Вот так выглядит самая короткая команда, которая у меня получилась:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
Расшифровка атрибутов

-re – указывает, что файл необходимо конвертировать в поток.

-i – указывает, какой файл необходимо воспроизводить. Важно, чтобы команда запускалась из того же каталога, где расположен сам видео-файл. Иначе стоит указывать абсолютную ссылку на файл, вроде /usr/media/lecture1.mp4 .

-f – задает формат выходного файла. В моём случае получается, что ffmpeg «на лету» конвертирует мой файл из mp4 в flv.

И в конце указываем данные, которые мы взяли на YouTube на странице настройки трансляции т.е. адрес, на который нужно передавать данные, и ключ трансляции, чтобы трансляция отобразилась именно на вашем канале.

Если вы всё сделали правильно, то после запуска этой команды, YouTube увидит передаваемый поток. Для запуска трансляции вам останется нажать кнопку «Начать трансляцию» в самом YouTube.

Шаг 4 – добавляем автономность

Поздравляю! Теперь вы знаете как запустить трансляцию из видео-файла. Но этого недостаточно для круглосуточной трансляции. Важно, чтобы после окончания воспроизведения первого видео, сразу же запускалось следующее, а когда покажутся все видео, воспроизведение начиналось сначала.

Я придумал следующий вариант: создать .sh-файл, в котором прописал по команде на каждый видео-файл и в самом конце указал команду на повторный запуск этого же скрипта. Получилась этакая рекурсия:

Команда 1. (запуск трансляции файла lecture1.mp4) Команда 2. (запуск трансляции файла lecture2.mp4) Команда 3. (запуск трансляции файла lecture3.mp4) bash start.sh

И, да, это сработало. Я, довольный собой, запустил тестовую трансляцию и пошёл спать.

Утром меня ожидал неприятный сюрприз. Оказалось, что трансляция шла всего пару минут и закончилась практически сразу как я выключил свой компьютер. Расследование показало, что команды, запущенные таким образом, выполняются пока пользователь авторизован на сервере. Как только я отключился, выполнение запущенных мной команд прервалось. Чтобы такого не происходило, достаточно перед командой bash дописать команду nohup . Это позволит запущенному процессу выполняться независимо от вашего присутствия.

Итоговая минимальная версия скрипта выглядит так:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ% ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ% ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ% nohup bash start.sh $

Где start.sh – это файл, в котором записан этот скрипт. И этот файл должен располагаться в одном каталоге с видео-файлами.

Добавление знака доллара в конце позволяет запускать процесс в фоновом режиме, чтобы можно было дальше пользоваться консолью не прерывая вещание.

Из бонусов получились следующие плюшки:

  • Можно вручную переключать воспроизведение файлов. Для этого нужно «убить» выполняющийся в текущий момент процесс ffmpeg. После этого автоматически запустится воспроизведение следующего файла из списка.
  • Новые видео можно добавлять в трансляцию без остановки вещания. Просто загружаете видео на сервер, дописываете в скрипте команду на запуск этого файла, сохраняете. И всё. На следующем круге воспроизведения новый файл уже будет транслироваться наравне со старыми файлами.

Шаг 5 – донастраиваем ffmpeg

На этом, в принципе, можно было остановиться. Но мне хотелось сделать трансляцию чуть более дружелюбной для зрителей.

Допустим, человек зашел на трансляцию, начал смотреть, ему понравилось и он захотел посмотреть эту лекцию с начала, а трансляция не предусматривает перемотку. Для просмотра лекции с начала человеку нужно будет перейти на мой сайт и получить запись интересующей лекции. А как понять какая лекция его интересует? На сайте уже 16 лекций и каждую неделю их становится только больше.

Думаю, что даже я, кто снимал и монтировал все эти лекции, не смогу по случайному фрагменту определить какая это лекция. Поэтому нужно, чтобы каждая лекция была как-то обозначена.

Еще по теме:  Скачивать с Youtube видео как быстро

Вариант добавить надписи в исходные видео-файлы в программе для монтажа меня не устраивал. Нужно было сделать так, чтобы использовались оригинальные файлы. Чтобы поддержка трансляции требовала от меня как можно меньше телодвижений.

Оказалось, что и в этом мне сможет помочь ffmpeg. У него есть специальный атрибут -vf , который позволяет наносить текст поверх видео. Чтобы добавить текст на видео, необходимо в команду добавить следующий фрагмент:

-vf drawtext=»fontfile=OpenSans.ttf:text=’Лекция 13: Психология эмоций. Как создавать радость?’:fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670″
Расшифровка параметров

fontfile= – ссылка на файл шрифта. Без этого надпись на видео не добавляется. Проще всего файл шрифта положить в одну папку с видео.

Или нужно будет указать полный путь к файлу.

text= – собственно, сам текст, который необходимо разместить поверх видео.

fontsize= – размер шрифта в пикселях.

fontcolor= – цвет шрифта.

borderw= – толщина контура вокруг текста в пикселях (у меня белый текст с черным контуром толщиной в 1 пиксель).

bordercolor= – цвет контура.

x= и y= – координаты текста. Точка 0;0 находится в левом верхнем углу. У меня координаты подобраны таким образом, чтобы текст размещался в левом нижнем углу при разрешении видео 1280х720 пикселей.

Выглядит это вот так:

image

Шаг 6 – определяемся с качеством трансляции

Всё, трансляция готова. FFmpeg вещает, файлы воспроизводятся, моё присутствие для трансляции не нужно. Даже каждая лекция подписана. Вроде всё.

Но всплыл ещё один нюанс – я выбрал минимальную конфигурацию сервера и он не вытягивал трансляцию. Конфигурация сервера: 1 ядро (вроде 2.2 ГГц), 1 гигабайт оперативной памяти, SSD на 25 Гб. Оперативной памяти хватало, а вот процессор практически наглухо уходил в загрузку на 100% (а временами даже в 102-103% 🙂 Это приводило к тому, что трансляция раз в несколько секунд подвисала. Некрасиво.

Можно было просто взять более дорогую конфигурацию с двумя ядрами, благо, что с облачными технологиями смена конфигурации сервера происходит нажатием пары кнопок. Но мне хотелось уместиться на мощностях минимальной конфигурации. Стал изучать документацию ffmpeg и да, там также есть настройки, которые позволяют регулировать нагрузку на систему.

Высокое качество изображения может быть достигнуто двумя путями: либо высокой нагрузкой на процессор, либо большим исходящим трафиком. Получается, чем больше нагрузку на себя может взять процессор, тем меньше нужна будет пропускная способность канала. Или можно сильно не нагружать процессор, но тогда нужен будет широкий канал с большим запасом по трафику. Если же есть ограничения и по процессору, и по размеру исходящего канала/трафику, то придется снижать качество картинки, чтобы трансляция шла без рывков.

Моему серверу доступен канал шириной в 10 Мбит/с. Такой ширины прям с запасом. Но есть ограничение по трафику – 1 ТБ в месяц. Поэтому, чтобы уложиться в ограничения по трафику, мой исходящий поток не должен превышать ~300 Кб в секунду т.е. битрейт исходящего потока должен быть не более 2,5 Мбит/с. YouTube, кстати, как раз и рекомендует вести трансляции в таком битрейте.

Для регуляции нагрузки на систему ffmpeg использует разные подходы. Хорошо об этом расписано здесь. Я в итоге использовал два атрибута: -crf и -preset .

Constant Rate Factor (CRF) – это коэффициент, благодаря которому можно регулировать качество картинки. CRF может иметь значения от 0 до 51, где 0 – качество исходного файла, 51 – наихудшее возможное качество. Рекомендуется использовать значения от 17 до 28, по умолчанию стоит 23. При коэффициенте 17 видео визуально будет идентично исходному, но технически таким являться не будет. Также в документации указано, что размер итогового видео в зависимости от указанного CRF меняется экспоненциально т.е. увеличение коэффициента на 6 пунктов приведет к удвоению битрейта исходящего видео.

Если с помощью CRF можно подобрать «вес» исходящей картинки, то с помощью пресетов (-preset) можно определить насколько сильно будет загружен процессор. Параметры у этого атрибута есть следующие:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium – значение по умолчанию
  • slow
  • slower
  • veryslow

Я сначала подобрал пресет, который был в принципе «по зубам» моему процессору, а затем более тонко подобрал нагрузку с помощью CRF. В моём случае подошел пресет fast , а для crf я остановился на значении 24.

На этом всё. Итоговая команда для запуска трансляции у меня получилась такой:

ffmpeg -re -i lecture1.mp4 -vf drawtext=»fontfile=OpenSans.ttf:text=’Лекция 1: Жонглирование картинами мира’:fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670″ -c:v libx264 -preset fast -crf 24 -g 3 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%

Здесь осталось только два неописанных момента:

1) -c:v libx264 – указание конкретного кодека для работы с исходным файлом.
2) -g 3 – явное указание количества ключевых кадров. В этом случае указано, что каждый третий кадр должен быть ключевым. Стандартное значение то ли на 5, то ли на 8, но YouTube ругается, просит не менее 3.

Какого качества получилась трансляция можно посмотреть здесь.

Нагрузка на сервер получилась следующая:

image

image

Исходя из данных мониторинга, видно, что нагрузка на процессор колеблется в рамках от 70% до 95% и за неделю трансляция ни разу не уперлась в 100%. Значит, с такими настройками процессора хватает.

По загрузке диска могу сказать, что он почти не нагружен и для трансляции вполне должно хватить и обычного HDD.

А вот количество исходящего трафика меня беспокоит. Получается, что мой исходящий поток колеблется от 450 до 650 Кбайт в секунду. За месяц это составит порядка 1,8 терабайт. Возможно придется докупать трафик или все же перейти на конфигурацию с двумя ядрами т.к. качество картинки не хотелось бы снижать.

Как итог, скажу, что настройка такой трансляции с нуля занимает порядка 1-2 часов. Причем большую часть времени займёт загрузка видео на сервер.

Как маркетинговый инструмент запуск такой трансляции себя не оправдал. Возможно, если накрутить просмотры, чтобы алгоритмы YouTube подхватили эту трансляцию и стали активно показывать её в рекомендациях, тогда что-то бы и получилось. В моём же случае за 16 дней непрерывной трансляции её посмотрели 58 раз.

Ну ничего. Трансляция гармонично вписалась на главной странице моего сайта. Получилась этакая возможность быстро составить своё мнение о лекторе и самих лекциях.

И ещё один момент. Важно, чтобы трансляция не нарушала ничьих авторских прав иначе её заблокируют. Я за свою трансляцию спокоен т.к. музыкальные вставки я специально выбирал со свободным использованием, а автор контента сидит за соседним компьютером и весьма не против того, чтобы я использовал её контент 🙂

Но если у вас в трансляции где-то фоном играет радио, или вы при монтаже использовали любимый трек, или взяли видеоряд из популярного музыкального клипа, сериала или фильма – тогда ваша трансляция в зоне риска. Также важно, чтобы трансляция несла хотя бы минимальную смысловую нагрузку, иначе её могут заблокировать как спамерскую.

На этом у меня всё. Надеюсь этот мануал сослужит кому-нибудь хорошую службу. Ну а если вам есть что добавить – пишите, с удовольствием почитаю дополнения и уточнения к статье.

  • *nix
  • DIY или Сделай сам

Источник: h.amazingsoftworks.com

Рейтинг
( Пока оценок нет )
Загрузка ...