Streaming de vídeo da webcam em Flash usando codificação MP4

Um dos recursos do aplicativo Flash em que estou trabalhando é poder transmitir uma webcam para outras pessoas. Estamos apenas usando o suporte embutido da webcam no Flash e enviando-o pelo FMS.

Algumas pessoas pediram vídeos de qualidade superior, mas já estamos usando a configuração de qualidade mais alta possível no Flash (definindo a qualidade para 100%).

Meu entendimento é que, nos flash players mais recentes, eles adicionaram suporte à codificação MPEG-4 para os vídeos. Criei um aplicativo Flex de teste simples para tentar comparar a qualidade do vídeo das codificações MP4 vs FLV. No entanto, não consigo fazer o MP4 funciona

De acordo comFlex documentation a única coisa que preciso fazer para usar MP4 em vez de FLV é preceder "mp4:" no nome do fluxo ao chamar publish:

Especifique o nome do fluxo como uma sequência com o prefixo mp4: com ou sem a extensão do nome do arquivo. O prefixo indica ao servidor que o arquivo contém vídeo codificado em H.264 e áudio codificado em AAC no formato de contêiner MPEG-4 Parte 14.

Quando tento isso, nada acontece. Não recebo nenhum evento gerado no lado do cliente, nenhuma exceção é lançada e meu log no lado do servidor não mostra nenhum fluxo inicial.

Aqui está o código relevante:

// These are all defined and created within the class.
private var nc:NetConnection;
private var sharing:Boolean;
private var pubStream:NetStream;
private var format:String;
private var streamName:String;
private var camera:Camera;

// called when the user clicks the start button
private function startSharing():void {
  if (!nc.connected) {
    return;
  }

  if (sharing) { return; }

  if(pubStream == null) {
    pubStream = new NetStream(nc);
    pubStream.attachCamera(camera);
  }
  startPublish();

  sharing = true;
}

private function startPublish():void {
  var name:String;

  if (this.format == "mp4") {
    name = "mp4:" + streamName;
  } else {
    name = streamName;
  }

  //pubStream.publish(name, "live");
  pubStream.publish(name, "record");
}

questionAnswers(3)

yourAnswerToTheQuestion