Сервис прямых трансляций

guru85

Постоялец
Регистрация
24 Мар 2010
Сообщения
100
Реакции
4
Прошу помощи.
Что хочу сделать, возможность захвата звука, видео с экрана или веб камеры пк и транслировать на youtube live или любой другой сервер. благо их сейчас много, твич, фэйсбук, перископ.
А дальше прошу меня поправить и направить по правильному пути, я вижу как-то так.
Что для этого нужно:
1. Веб интерфейс плеера, планирую писать на php, javascript где будут элементы управления, вкл. выкл камеры, микрофона, показ экрана (нашел что-то подобное Для просмотра ссылки Войди или Зарегистрируйся но может это не подойдет, не знаю.)
2. Далее, видео каким-то образом должно конвертится и отправляться в youtube live, тут-то и вся загвоздка, так как я не могу понять алгоритм и требуемые инструменты.
Думаю что нужно использовать FFmpeg но не могу понять как это все объеденить.
То-есть по факту мне нужен вебинтерфейс на подобе google hangouts, я не хочу использовать свой сервер как площадку просмотра прямых трансляций, а хочу использовать для этого youtube например, вся нагрузка от зрителей ляжет на сервер google.
Организовать трансляцию на youtube сейчас, можно используя любой видеокодер, ставишь его на комп и вперед, но я хочу функции видеокодера перенести в браузер и на мой сервер, чтобы клиенту не нужно было ничего устанавливать, нажал кнопку и запустил трансляцию.
Прошу помощи, направить по правильному пути.
 
Последнее редактирование:
Захват со своего компа и онлайн трансляция в сеть?
 
Захват со своего компа и онлайн трансляция в сеть?
да, webrtc буду использовать для захвата видео и звука, но на сервере нужно кодировать поток и отправлять на rtmp youtube, пока не нашел примеров как организовать это.
 
да, webrtc буду использовать для захвата видео и звука, но на сервере нужно кодировать поток и отправлять на rtmp youtube, пока не нашел примеров как организовать это.
Обычно для этого используют уже готовые Для просмотра ссылки Войди или Зарегистрируйся.
 
Последнее редактирование:
Недавно сталкивался с задачей наоборот - хотелось rtmp в webrtc.
Есть такая штука - kurento. Но не раскурил и сделал свою задачу на hls. В их maillists попадалась вот такая тема -
Для просмотра ссылки Войди или Зарегистрируйся
Возможно, будет полезно
 
Недавно сталкивался с задачей наоборот - хотелось rtmp в webrtc.
Есть такая штука - kurento. Но не раскурил и сделал свою задачу на hls. В их maillists попадалась вот такая тема -
Для просмотра ссылки Войди или Зарегистрируйся
Возможно, будет полезно
Да все верно, эту статью я давно нашел, поставил уже kurento, понял что нужно организовать схему, webrtc - kurento - rtp - ffmpeg - rtmp youtube lve / Даже уже отдельно организовал
webrtc - kurento - rtp и отдельно на nodejs ffmpeg - rtmp youtube lve транслировать получается файл из корневой папки, а как эти два куска связать не пойму, генерирую с помощью kurento rtp файл - test.sdp но он не воспроизводится, ffmpeg его не транслирует. Вот код, может кто ошибку найдет:
Код:
pipeline.create("RtpEndpoint", {}, function(error, rtpEndpoint) {
        if (error) {
            console.log("Recorder problem");
            return sendError(res, 500, error);
        }

        console.log("Creating WebRtcEndpoint");
        pipeline.create('WebRtcEndpoint', function(error, webRtcEndpoint) {
            if (error) {
                return sendError(res, 500, error);
            }

            console.log("Processing sdpOffer at server and generating sdpAnswer");
            webRtcEndpoint.processOffer(sdpOffer, function(error, sdpAnswer) {
                if (error) {
                    webRtcEndpoint.release();
                    return sendError(res, 500, error);
                }

                console.log("Connecting loopback");
                webRtcEndpoint.connect(webRtcEndpoint, function(error) {
                    if(error){
                        webRtcEndpoint.release();
                        return sendError(res, 500, error);
                    }
                    console.log("Sending sdpAnswer to client");
                    console.log(sdpAnswer);

                    webRtcEndpoint.connect(rtpEndpoint, function(error) {
                        if(error) {
                            webRtcEndpoint.release();
                            return sendError(res, 500, error);
                        }
                        rtpEndpoint.generateOffer(function(error, offer) {
                            fs.writeFile('test.sdp',offer);
                            console.log("RTP OFFER GENERATED.");
                        });
                    });

                    res.type('application/sdp');
                    res.send(sdpAnswer);
                });    
            });
        });
  
    var fs = require('fs'),
ffmpeg = require('fluent-ffmpeg');
// open input stream
var infs = fs.createReadStream('test.sdp');

infs.on('error', function(err) {
  console.log(err);
});

// create new ffmpeg processor instance using input stream
// instead of file path (can be any ReadableStream)
var proc = ffmpeg(infs)
  .preset('flashvideo')
  // setup event handlers
  .on('end', function() {
    console.log('done processing input stream');
  })
  .on('error', function(err) {
    console.log('an error happened: ' + err.message);
  })
  // save to file
.save('rtmp://a.rtmp.youtube.com/live2/key');
  
  
    });
 
Недавно была статья на Для просмотра ссылки Войди или Зарегистрируйся как WebRTC поток пробросить на Youtube. Правдо не с kurento, а с flashphoner.
Может кому-то пригодится.
 
Скрытая реклама? У ребят стоит сервис мягко говоря дороговато, а вот webrtc-kurento-ffmpeg-rtmp youtube live бесплатно и прекрасно работает, в том числе с мобильных и много поточно, тоесть ffmpeg сразу может ретранслировать и на facebook и любой другой rtmp
 
помогите пожалуста как сделать сайт на подобие этого? Для просмотра ссылки Войди или Зарегистрируйся

может кто знает название скрипта ( CMS )?

кто знает пишите в вк: vk.com/f.meinstein
 
Назад
Сверху