Bir HTML sayfası üzerinden NodeJS ve KIRMIZI 5 medya sunucu | Netgez.com
SORU
24 EKİM 2012, ÇARŞAMBA


Bir HTML sayfası üzerinden NodeJS ve KIRMIZI 5 medya sunucu

Bu daha bir doğrudan ziyade kavramsal bir soru bunu yapmak için nasıl".

Genel olarak HTML5 ve nodeJS/binaryJS ses (örneğin webRTC veya diğer veri akışı ise bağımsız) akış flash gibi bir çözüm uygulamak mümkün. Eğer öyleyse, nasıl bu konuda gitmek istiyorsunuz?

2010 found here ve stackoverflow üzerinde tek sorgulamak olmuştur. NodeJS ve HTML5 ve o zamandan beri büyüdü olgunlaştı.

Ä°nsanlar genellikle ne: Kullanırken multimedya akışı (örneÄŸin, video veya ses) için bir sunucu, orada kesinlikle hiçbir ÅŸey yener Flash güncel noktada zamana kadar tam varış getUserMedia() - hangi oldukça dürüst olabilir take a while kadar ™ tarayıcı kullanıcılara almak için kullanın.

Genel uygulama için veri akışı için bir sunucu kullanarak bir istemci Flash veya Flex uygulaması daha sonra bağlamak için bir HTML sayfası protokolü destekli Medya sunucusu gibi RED5, FMS Wowza. Örneğin, istemci HTML sayfası üzerinde mikrofon girişi göndermek gibi (basitleştirilmiş versiyonu) bak olabilir app

import flash.net.NetStream;

private var myMic:Microphone;
private var nc:NetConnection;
private var ns:NetStream

nc = new NetConnection();    
ns = new NetStream(nc);
nc.connect(rtmp://localhost/serverApp);
myMic = Microphone.getMicrophone();
ns.attachAudio(myMic);

Birlikte bir sunucu uygulaması ile bir easibly sunucuya veri akışı yapabiliyor.

Ben ne yapmak istiyorsunuz: Uygulama sunucusu gelen BAMBAŞKA bir akışı yakalar nodeJS (muhtemelen socketIO binaryJS uygulama) üzerinde çalışan var. Gibi bir şey

//require
var rtmp = require('node-rtmp'),
var fs = require('fs');

//rtmp server address
var rtmpServer = 'rtmp://localhost';

//create a binary server listening that receives stream data
var RTMPServer = rtmp.RTMPServer();
var server = RTMPServer ({port: 1935});

server.on('connection', function(client){
 //check if user is allowed to do so
 rtmp.newStream(client.stream);
});

Muhtemelen eventEmitters ile kullanıcı arasındaki etkileşimi socketİO ayırt etmek için kullanmak daha iyi olabilir.

Avantajları ne olabilir:Biraz havai gibi bu tür bir yaklaşım yapmak gibi görünüyor, ama benim için genel olarak avantaj olabilir ve aynı zamanda bu konuda yorum yapmak istiyorum.

  • örneÄŸin express ve socketÄ°O çalıştırarak kullanıcı etkileÅŸimi kolay doÄŸrulama
  • hibrid bir uygulama flash (HTML sayfası) ve getUserMedia() (ekleme binaryJS tarafından ikili aktarım mekanizmaları ve Mozilla AudioAPÄ°)
  • getUserMedia() tam destek alır, uygulamaları kolayca kesilmesini flash
  • genel olarak bambaÅŸka bir takip ve kullanıcı üzerinde daha fazla kontrol etkileÅŸim
  • sunucu çerçeve içine kolay uygulama

GÜNCELLEME: Yazılmış only node-rtmp package sorumlu Malcontenti-Wilson Bay konuştum ama kötü bir şekilde yazılmıştı olarak 8 ay önce durdurulan ettim ve bir barikat vurdu. Bu, kodu kontrol etmeyi başardı kullanılan kim?

GÜNCELLEME 2: Malcontenti-Wilson Bay bana muhtemelen istemeyiz böyle yapıyor node-mtrude (garip bir isim) dikkatimi çekmek için bir posta göndermek. Herkes paketi bu tür bir çalışma var?

CEVAP
13 EYLÃœL 2012, PERÅžEMBE


Pdf sayfalarını ayrı görünümlerde koymak için de ilave bölümler pdf içeriği ilerleyin ve hale gelmez görünüm içinde

YA

Sadece doğru boyutlarda bulmak ve CG yöntemi kullanarak çizin:

        UIImage *Logo=[UIImage imageNamed:@"small-logo-left-top130_133.png"];
    CGPoint drawingLogoOrgin = CGPointMake(5,5);

    UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil);
    UIGraphicsBeginPDFPageWithInfo(pageFrame, nil);
    CGContextRef pdfContext = UIGraphicsGetCurrentContext();
    [Logo drawAtPoint:drawingLogoOrgin];

Yöntemleri pdf çizmek için çizim bir yeri vardır. Tüm içeriğini çizmek için kullanabilirsiniz.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • jedimasterkyle

    jedimasterky

    11 ÅžUBAT 2006
  • Richard Laxa

    Richard Laxa

    30 AÄžUSTOS 2012
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010