FMUSER Transmitir vídeo e áudio sem fio mais fácil!

[email protegido] WhatsApp + 8618078869184
Língua

    Explicação detalhada do formato de fluxo m3u8 e ts de hls

     

    HLS e Http Live Streaming são protocolos para streaming em tempo real definidos pela Apple. O HLS é implementado com base no protocolo HTTP. O conteúdo da transmissão inclui duas partes, uma é o arquivo de descrição M3U8 e a outra é o arquivo de mídia TS.

    1. Arquivo M3U8

       O arquivo de mídia é descrito em texto, que é composto por uma série de tags.

    #EXTM3U

    # EXT-X-TARGETDURATION: 5

    #EXTINF: 5,

    ./0.ts

    #EXTINF: 5,

    ./1.ts

    # EXTM3U: A primeira linha de cada arquivo M3U8 deve ser esta tag.

    # EXT-X-TARGETDURATION: Especifique a duração máxima do segmento de mídia (segundos). O tempo especificado em #EXTINF deve ser menor ou igual a este valor máximo. Este valor só pode aparecer uma vez.

    #EXTINF: Descreva o comprimento de um único arquivo de mídia. Seguem arquivos de mídia, como ./0.ts

     

    2. arquivo ts

        O arquivo ts é um arquivo de fluxo de transporte, o formato de codificação de vídeo principal é h264 / mpeg4 e o áudio é acc / MP3.

       O arquivo ts é dividido em três camadas: fluxo de transporte da camada ts, fluxo elementar de pacotes da camada, fluxo elementar da camada es. A camada es são os dados de áudio e vídeo, e a camada pes são as informações de descrição do quadro de dados, como um carimbo de data / hora adicionado aos dados de áudio e vídeo. A camada ts serve para adicionar as informações necessárias para a identificação e transmissão do fluxo de dados na camada pes

     

    Nota: os detalhes são os seguintes

     (1) Camada ts O tamanho do pacote ts é fixado em 188 bytes e a camada ts é dividida em três partes: cabeçalho ts, campo de adaptação e carga útil. O cabeçalho ts é fixado em 4 bytes; o campo de adaptação pode ou não existir, e sua função principal é preencher dados com menos de 188 bytes; a carga útil são dados pes.

    cabeçalho ts

    sync_byte byte de sincronização 8b, fixado em 0x47
    transport_error_indicator 1b Indicador de erro de transporte, indicando que há um byte inútil após o campo adapt do cabeçalho ts, geralmente 0, este byte é contado no comprimento do campo adapt
    payload_unit_start_indicator 1b Indicador de início da unidade de carga, que é marcado como 1 no início de um pacote de dados completo
    transport_priority 1b Prioridade de transporte, 0 é baixa prioridade, 1 é alta prioridade, geralmente 0
    valor pid 13b pid
    transport_scrambling_control 2b Controle de embaralhamento de transporte, 00 significa não criptografado
    adaptação_field_control 2b Se deve incluir o campo de adaptação, '00' é reservado; '01' significa nenhum campo de adaptação, apenas a carga útil; '10' significa apenas o campo de adaptação, sem carga útil; '11' significa que a adaptação também está incluída. Domínio e carga útil.
    continuity_counter 4b Contador crescente, de 0-f, o valor inicial não leva necessariamente 0, mas deve ser contínuo
         O conteúdo da camada ts é identificado pelo valor PID e o conteúdo principal inclui: tabela PAT, tabela PMT, fluxo de áudio e fluxo de vídeo. Para analisar o fluxo ts, você deve primeiro encontrar a tabela PAT, contanto que você encontre o PAT, você pode encontrar o PMT e então você pode encontrar os fluxos de áudio e vídeo. O valor PID da tabela PAT é fixado em 0. A tabela PAT e a tabela PMT precisam ser inseridas no fluxo ts regularmente, porque o usuário pode ingressar no fluxo ts a qualquer momento, este intervalo é relativamente pequeno, geralmente a cada poucos quadros de vídeo para adicionar PAT e PMT. As tabelas PAT e PMT são necessárias, e outras tabelas como SDT (tabela de descrição de serviço) também podem ser adicionadas, mas o fluxo hls pode ser reproduzido desde que haja PAT e PMT.

    Tabela PAT: Tem como função principal indicar o valor PID da tabela PMT.

    Tabela PMT: Sua função principal é especificar o valor PID do fluxo de áudio e vídeo.

    Fluxo de áudio / fluxo de vídeo: carregue conteúdo de áudio e vídeo.

    adaptação

    adaptação_field_length 1B comprimento do campo de adaptação, o número de bytes atrás
    sinalizador 1B leva 0x50 para indicar PCR ou 0x40 para não incluir PCR
    PCR 5B Program Clock Reference, referência de relógio do programa, usado para recuperar o relógio de tempo do sistema STC (System Time Clock) consistente com o codificador.
    stuffing_bytes xB stuffing bytes, o valor é 0xff
         O comprimento da área de adaptação deve incluir um byte identificado pelo indicador de erro de transmissão. pcr é a referência do relógio do programa, pcr, dts, pts são todos valores amostrados do mesmo relógio do sistema, pcr é incremental, portanto, pode ser definido como valor dts, os dados de áudio não precisam de pcr. Se não houver campo, o ipad pode tocar, mas vlc não pode jogar. Ao empacotar o fluxo ts, as tabelas PAT e PMT não possuem um campo de adaptação. Se o comprimento não for suficiente, basta preencher 0xff. Tanto o fluxo de vídeo quanto o fluxo de áudio precisam adicionar um campo de adaptação, que geralmente é adicionado ao primeiro pacote ts e ao último pacote ts de um quadro, e o pacote ts do meio não é adicionado.

     

    Formato PAT

    table_id 8b PAT tabela é fixada em 0x00
    section_syntax_indicator 1b é fixado em 1
    zero 1b é fixado em 0
    2b reservado é fixado em 11
    section_length 12b O comprimento dos seguintes dados
    transport_stream_id 16b ID do fluxo de transporte, fixado como 0x0001
    2b reservado é fixado em 11
    version_number 5b Número da versão, fixado em 00000, se o PAT mudar, o número da versão aumentará em 1
    current_next_indicator 1b é fixado em 1, indicando que esta tabela PAT pode ser usada, se for 0, aguarde a próxima tabela PAT
    section_number 8b é fixado em 0x00
    last_section_number 8b é fixado em 0x00
    Iniciar loop
    program_number 16b Quando o número do programa é 0x0000, significa que é NIT, quando o número do programa é 0x0001, significa que é PMT
    3b reservado é fixado em 111
    PID 13b Valor PID correspondente ao conteúdo do número do programa
    Loop final
    CRC32 32b Código de verificação CRC32 dos dados anteriores
    Formato PMT

    table_id 8b tabela PMT tem qualquer valor, 0x02
    section_syntax_indicator 1b é fixado em 1
    zero 1b é fixado em 0
    2b reservado é fixado em 11
    section_length 12b O comprimento dos seguintes dados
    program_number 16b channel number, o que significa o canal associado ao PMT atual, o valor é 0x0001
    2b reservado é fixado em 11
    version_number 5b Número da versão, fixado em 00000, se o PAT mudar, o número da versão aumentará em 1
    current_next_indicator 1b é fixado em 1
    section_number 8b é fixado em 0x00
    last_section_number 8b é fixado em 0x00
    3b reservado é fixado em 111
    PCR_PID 13b O PID do pacote TS onde o PCR (clock de referência do programa) está localizado, designado como o PID de vídeo
    4b reservado é fixado em 1111
    program_info_length 12b As informações de descrição do programa, designadas como 0x000, significa que não
    Iniciar loop
    stream_type 8b Tipo de fluxo, marca é vídeo ou áudio ou outros dados, a codificação h.264 corresponde a 0x1b, a codificação aac corresponde a 0x0f, a codificação mp3 corresponde a 0x03
    3b reservado é fixado em 111
    elementary_PID 13b PID correspondente a stream_type
    4b reservado é fixado em 1111
    ES_info_length 12b Descrição da informação, designada como 0x000 significa não
    Loop final
    CRC32 32b Código de verificação CRC32 dos dados anteriores

    (2) camada pes

         A camada pes adiciona carimbo de data / hora e outras informações a cada quadro de vídeo / áudio. O pacote pes contém muito conteúdo, e deixamos apenas os mais comumente usados.

     

    pes start code 3B start code, fixado em 0x000001
    valor de áudio 1B de id de stream (0xc0-0xdf), geralmente 0xc0
    Valor de vídeo (0xe0-0xef), geralmente 0xe0
    comprimento do pacote pes 2B O comprimento dos dados pes atrás, 0 significa comprimento ilimitado,
    Apenas o comprimento dos dados de vídeo excederá 0xffff
    A sinalização 1B geralmente assume o valor 0x80, o que significa que os dados não são criptografados, não têm prioridade e são dados com backup
    Sinalizador 1B valor 0x80 significa apenas pts, valor 0xc0 significa pts e dts
    pes data length 1B O comprimento dos seguintes dados, o valor é 5 ou 10
    valor pts 5B 33 bits
    valor dts 5B 33 bits
         pts é o timestamp de exibição e dts é o timestamp de decodificação. Ambos os carimbos de data / hora são necessários para dados de vídeo. Os pts e dts dos dados de áudio são iguais, portanto, apenas os pts são necessários. Existem dois carimbos de data / hora, pts e dts, que são causados ​​por quadros B. Os pts dos quadros I e P são iguais a dts. Se um vídeo não tiver quadros B, pts sempre será o mesmo que dts. Leia os quadros de vídeo sequencialmente do arquivo, e a seqüência dos quadros extraídos é igual à seqüência dts. O algoritmo dts é relativamente simples, o valor inicial + incremento é suficiente, o cálculo de pts é mais complicado e o deslocamento precisa ser adicionado ao dts.

         Existem apenas pts nos pes de áudio (o mesmo que dts), os quadros I e P do vídeo devem ter ambos os carimbos de data / hora e o quadro B do vídeo precisa apenas de pts (o mesmo que dts). Para empacotar pts e dts, você precisa saber o tipo de quadro de vídeo, mas não podemos julgar o tipo de quadro pelo formato do contêiner. Você deve analisar o conteúdo h.264 para obter o tipo de quadro.

    por exemplo:

                             IPBBBP

    Ordem de leitura: 1 2 3 4 5 6

    pedido dts: 1 2 3 4 5 6

    pedido de pts: 1 5 3 2 4 6

    Algoritmo de dts de vídeo sob demanda:

    dts = valor inicial + 90000 / video_frame_rate, o valor inicial pode ser especificado arbitrariamente, mas é melhor não tomar 0, video_frame_rate é a taxa de quadros, como 23, 30.

    pts e dts são baseados na escala de tempo, escala de tempo 1s = 90000, um quadro deve ser escala de tempo 90000 / video_frame_rate.

    A divisão da escala de tempo de um quadro pela frequência de amostragem pode ser convertida para a duração da reprodução de um quadro

    Algoritmo dts de áudio sob demanda:

    dts = valor inicial + (90000 * audio_samples_per_frame) / audio_sample_rate, o valor de audio_samples_per_frame está relacionado ao codec, o valor de aac é 1024, o valor de mp3 é 1158, audio_sample_rate é a taxa de amostragem, como 24000, 41000. AAC decodifica um quadro de 1024 amostras por canal, o que significa que a duração de um quadro é de 1024 / sample_rate segundos. Portanto, o carimbo de data / hora de cada quadro é 0, 1024 / sample_rate, ..., 1024 * n / sample_rate segundos.

    Os dts e pts do vídeo ao vivo devem usar diretamente o tempo no fluxo de dados ao vivo e não devem ser calculados por fórmulas.

    (3) camada es

         A camada es refere-se aos dados de áudio e vídeo, apresentamos apenas vídeo h.264 e áudio aac.

    vídeo h.264:

         Para empacotar os dados h.264, devemos adicionar um nalu (unidade Network Abstraction Layer) aos dados de vídeo. O nalu inclui o cabeçalho nalu e o tipo nalu. O cabeçalho nalu é fixado em 0x00000001 (início do quadro) ou 0x000001 (no quadro). Os dados de h.264 são compostos de fatias e o conteúdo das fatias inclui: vídeo, sps, pps, etc. O tipo nalu determina o conteúdo dos dados h.264 subsequentes.

     

    F 1b forbidden_zero_bit, h.264 estipula que deve ser 0
    NRI 2b nal_ref_idc, valor 0 ~ 3, indica a importância deste nalu, quadro I, sps, pps geralmente leva 3, o quadro P geralmente leva 2 e o quadro B geralmente leva 0
    Tipo 5b consulte a tabela abaixo
    descrição de nal_unit_type
    0 não usado
    1 imagem não IDR, IDR refere-se ao quadro-chave
    Partição A de 2 fatias
    Partição B de 3 fatias

     

     

     

     

     

     

     

    Como distante (long) a tampa do transmissor?

    A faixa de transmissão depende de muitos fatores. A distância real baseia-se na altura da antena de instalar, o ganho da antena, usando ambiente como a construção e outras obstruções, a sensibilidade do receptor, a antena do receptor. Instalação de antena mais alta e usando no campo, a distância vai muito mais longe.

    EXEMPLO 5W FM Transmitter usar na cidade e cidade natal:

    Eu tenho um uso do cliente 5W transmissor FM EUA com antena GP em sua cidade natal, e ele testá-lo com um carro, cobrir 10km (6.21mile).

    I testar o transmissor FM 5W com antena GP na minha cidade natal, que cobrem cerca de 2km (1.24mile).

    I testar o transmissor FM 5W com antena GP na cidade de Guangzhou, que abrangem cerca de única 300meter (984ft).

    Abaixo estão o intervalo aproximado de diferentes transmissores de energia FM. (O intervalo é de diâmetro)

    0.1W ~ 5W Transmissor FM: 100M ~ 1KM

    5W ~ 15W FM Ttransmitter: 1KM ~ 3KM

    15W ~ 80W Transmissor FM: 3KM ~ 10KM

    80W ~ 500W Transmissor FM: 10KM ~ 30KM

    500W ~ 1000W Transmissor FM: 30KM ~ 50KM

    1KW ~ 2KW Transmissor FM: 50KM ~ 100KM

    2KW ~ 5KW Transmissor FM: 100KM ~ 150KM

    5KW ~ 10KW Transmissor FM: 150KM ~ 200KM

    Como contactar-nos para o transmissor?

    Ligue-me + 8618078869184 OR
    Me mande um e-mail [email protegido]
    1.How longe você quer cobrir de diâmetro?
    2.How altura de vocês torre?
    3.Where você é?
    E vamos dar-lhe conselhos mais profissional.

    Sobre Nós

    A FMUSER.ORG é uma empresa de integração de sistemas com foco em transmissão de RF sem fio / equipamento de áudio de vídeo de estúdio / streaming e processamento de dados. Fornecemos desde consultoria e consultoria até integração de rack a instalação, comissionamento e treinamento.
     
    Oferecemos Transmissor FM, Transmissor de TV Analógico, Transmissor de TV Digital, Transmissor UHF VHF, Antenas, Conectores Coaxiais, STL, Processamento On Air, Produtos Broadcast para Estúdio, Monitoramento de Sinais RF, Codificadores RDS, Processadores de Áudio e Unidades de Controle Remoto, Produtos de IPTV, codificador / decodificador de vídeo / áudio, projetados para atender às necessidades tanto de grandes redes de transmissão internacionais quanto de pequenas estações privadas.
     
    Nossa solução possui Estação de Rádio FM / Estação de TV Analógica / Estação de TV Digital / Equipamento de Estúdio de Áudio / Vídeo / Link de Transmissor de Estúdio / Sistema de Telemetria de Transmissor / Sistema de TV de Hotel / Transmissão ao Vivo de IPTV / Transmissão ao Vivo de Transmissão / Conferência de Vídeo / Sistema de Transmissão de CATV.
     
    Estamos usando produtos de tecnologia avançada para todos os sistemas, porque sabemos que a alta confiabilidade e o alto desempenho são tão importantes para o sistema e a solução. Ao mesmo tempo, também temos que garantir que nosso sistema de produtos tenha um preço muito razoável.
     
    Temos clientes de radiodifusores públicos e comerciais, operadoras de telecomunicações e autoridades reguladoras, além de oferecer soluções e produtos para centenas de pequenas emissoras locais e comunitárias.
     
    A FMUSER.ORG exporta há mais de 15 anos e tem clientes em todo o mundo. Com 13 anos de experiência neste campo, temos uma equipe profissional para resolver todos os tipos de problemas dos clientes. Nós nos dedicamos a fornecer preços extremamente razoáveis ​​para produtos e serviços profissionais.
    Email de contato : [email protegido]

    Nossa fábrica

    Nós temos modernização da fábrica. Você está convidado a visitar nossa fábrica quando você vir para a China.

    Actualmente, já existem clientes 1095 em todo o mundo visitaram nosso escritório Guangzhou Tianhe. Se você vir para a China, você está convidado a visitar-nos.

    na Feira

    Esta é a nossa participação em 2012 Global Sources Hong Kong Fair Eletrônica . Clientes de todo o mundo finalmente ter a chance de ficar juntos.

    Onde está Fmuser?

    Você pode pesquisar esses números " 23.127460034623816,113.33224654197693 "no google map, então você pode encontrar nosso escritório fmuser.

    escritório FMUSER Guangzhou está em Tianhe District, que é a centro do cantão . Muito perto ao Feira de Cantão , Estação Ferroviária Guangzhou, estrada Xiaobei e dashatou , só precisa 10 minutos se tomar TÁXI . Bem-vindos amigos de todo o mundo para visitar e negociar.

    Contato: Céu azul
    Celular: + 8618078869184
    WhatsApp: + 8618078869184
    WeChat: + 8618078869184
    E-mail [email protegido]
    QQ: 727926717
    Skype: sky198710021
    Endereço: No.305 quarto Huilan Edifício No.273 Huanpu Estrada Guangzhou China Zip: 510620

    Inglês: Aceitamos todos os pagamentos, como PayPal, cartão de crédito, Western Union, Alipay, Money Bookers, T / T, LC, DP, DA, OA, Payoneer, se você tiver alguma dúvida, entre em contato comigo [email protegido] ou WhatsApp + 8618078869184

    • PayPal.  www.paypal.com

      Recomendamos que você use Paypal para comprar nossos produtos, o Paypal é uma forma segura de comprar na internet.

      Cada da nossa lista de itens de página de fundo na parte superior tem um logotipo paypal para pagar.

      Cartão de crédito.Se você não tem paypal, mas você tem cartão de crédito, você também pode clicar no botão amarelo PayPal para pagar com seu cartão de crédito.

      -------------------------------------------------- -------------------

      Mas se você não tiver um cartão de crédito e não tem uma conta paypal ou de difícil tem um accout PayPal, você pode usar o seguinte:

      Western Union.  www.westernunion.com

       

      Pagamento por Western Union para mim:

      Nome próprio / nome próprio: Yingfeng
      Sobrenome / sobrenome / sobrenome: Zhang
      Nome completo: Yingfeng Zhang
      País: China
      Cidade: Guangzhou 

      -------------------------------------------------- -------------------

      T / T.  Pagar por T / T (transferência bancária / transferência telegráfica / Transferência Bancária)
       
      Primeiras INFORMAÇÕES BANCÁRIAS (CONTA DA EMPRESA):
      SWIFT BIC: BKCHHKHHXXX
      Nome do banco: BANK OF CHINA (HONG KONG) LIMITADA, HONG KONG
      Endereço do Banco: BANK OF CHINA TOWER, 1 GARDEN ROAD, CENTRAL, HONG KONG
      CÓDIGO BANCÁRIO: 012
      Nome da conta: FMUSER INTERNATIONAL GROUP LIMITED
      Conta NO. : 012-676-2-007855-0
      -------------------------------------------------- -------------------
      SEGUNDA INFORMAÇÃO BANCÁRIA (CONTA DA EMPRESA):
      Beneficiário: Fmuser International Group Inc
      Número da conta: 44050158090900000337
      Banco do beneficiário: Sucursal do China Construction Bank em Guangdong
      Código SWIFT: PCBCCNBJGDX
      Endereço: NO.553 Tianhe Road, Guangzhou, Guangdong, distrito de Tianhe, China
      ** Nota: Quando você transferir dinheiro para nossa conta bancária, NÃO escreva nada na área de comentários, caso contrário, não poderemos receber o pagamento devido à política governamental sobre negócios de comércio internacional.

    * Será enviada em 1 2-dia de trabalho quando o pagamento clara.

    * Nós vamos enviá-lo para seu endereço de paypal. Se você quiser mudar de endereço, por favor, envie seu endereço correto e número de telefone para o meu e-mail [email protegido]

    * Se os pacotes está abaixo 2kg, que serão enviados via correio aéreo, vai demorar cerca de 15-25days para sua mão.

    Se o pacote é mais do que 2kg, nós enviamos via EMS, DHL, UPS, Fedex entrega rápida expressa, vai demorar cerca de 7 ~ 15days para sua mão.

    Se o pacote de mais de 100kg, iremos enviar via DHL ou frete aéreo. Isso levará cerca de 3 ~ 7days para sua mão.

    Todos os pacotes são a forma China Guangzhou.

    * O pacote será enviado como um "presente" e descontar o menos possível, o comprador não precisa pagar por "TAX".

    * Depois de navio, nós lhe enviaremos um e-mail e dar-lhe o número de rastreamento.

    Para garantia.
    Entre em contato conosco --- >> Devolva o item para nós --- >> Receba e envie outra substituição.

    Nome: Liu Xiaoxia
    Endereço: 305Fang HuiLanGe HuangPuDaDaoXi 273Hao TianHeQu Guangzhou China.
    CEP: 510620
    Telefone: + 8618078869184

    Por favor, retorne a este endereço e escrever seu paypal endereço, nome, problema na nota:

    Liste todos os Pergunta

    Alcunha/Nickname

    E-mail

    Frequentes

      Digite o e-mail para obter uma surpresa

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albanês
      ar.fmuser.org -> árabe
      hy.fmuser.org -> armênio
      az.fmuser.org -> Azerbaijão
      eu.fmuser.org -> Basco
      be.fmuser.org -> bielorrusso
      bg.fmuser.org -> búlgaro
      ca.fmuser.org -> catalão
      zh-CN.fmuser.org -> Chinês (simplificado)
      zh-TW.fmuser.org -> chinês (tradicional)
      hr.fmuser.org -> croata
      cs.fmuser.org -> checo
      da.fmuser.org -> dinamarquês
      nl.fmuser.org -> holandês
      et.fmuser.org -> estoniano
      tl.fmuser.org -> filipino
      fi.fmuser.org -> finlandês
      fr.fmuser.org -> francês
      gl.fmuser.org -> galego
      ka.fmuser.org -> georgiano
      de.fmuser.org -> alemão
      el.fmuser.org -> grego
      ht.fmuser.org -> crioulo haitiano
      iw.fmuser.org -> hebraico
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> húngaro
      is.fmuser.org -> islandês
      id.fmuser.org -> indonésio
      ga.fmuser.org -> irlandês
      it.fmuser.org -> italiano
      ja.fmuser.org -> Japonês
      ko.fmuser.org -> coreano
      lv.fmuser.org -> letão
      lt.fmuser.org -> Lituano
      mk.fmuser.org -> macedônio
      ms.fmuser.org -> malaio
      mt.fmuser.org -> maltês
      no.fmuser.org - norueguês
      fa.fmuser.org -> persa
      pl.fmuser.org -> polonês
      pt.fmuser.org -> português
      ro.fmuser.org -> romeno
      ru.fmuser.org -> russo
      sr.fmuser.org -> Sérvio
      sk.fmuser.org -> Eslovaco
      sl.fmuser.org -> esloveno
      es.fmuser.org -> espanhol
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> sueco
      th.fmuser.org -> Tailandês
      tr.fmuser.org -> turco
      uk.fmuser.org -> ucraniano
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> vietnamita
      cy.fmuser.org -> Galês
      yi.fmuser.org -> iídiche

       
  •  

    FMUSER Transmitir vídeo e áudio sem fio mais fácil!

  • Contato

    Endereço:
    No.305 Sala HuiLan Edifício No.273 Huanpu Road Guangzhou China 510620

    E-mail
    [email protegido]

    Tel/What Apps:
    +8618078869184

  • Categorias

  • Newsletter

    PRIMEIRO OU NOME COMPLETO

    Email

  • solução paypal  Western Union Banco da China
    E-mail[email protegido]   WhatsApp: +8618078869184 Skype: sky198710021 Fala comigo
    Copyright 2006 2020-Powered By www.fmuser.org

    Contate-nos