TV Digital Entendendo a transmissão de aplicações Hugo Lavalle
Agenda <ul><li>Visão geral do sistema de televisão digital terrestre
Codificação e compressão </li><ul><li>MPEG-2 TS
Carrossel </li></ul><li>Multiplexador de sinais
Ferramentas para laboratório
Demonstração
Referências
Conclusão </li></ul>
Visão Geral
Codificação e Compressão
Codificação - MPEG-2 TS <ul><li>MPEG-2 Transport Stream (TS) </li><ul><li>Formato para transmissão de vídeo multiplexado c...
TS x PS
Container para Packetized Elementary Streams (PES) </li></ul><li>PES </li><ul><li>Especificação para empacotamento de Elem...
Formato depende do codec </li></ul></ul>
Codificação -  Carrossel <ul><li>DSM-CC:  </li><ul><li>D igital  S torage  M edia  C ommand and  C ontrol
Padrão criado antes da TV Digital
Especificações </li><ul><li>ISO/IEC 13818-6
ETSI EN 301 192
ETSI TR 101 202 </li></ul><li>TV digital </li><ul><li>Carrossel de dados
Carrossel de objetos (sistema de arquivo) </li></ul></ul></ul>
Multiplexador de Sinais
Multiplexador de Sinais
Multiplexador de Sinais
Multiplexador de Sinais
Multiplexador de Sinais
Multiplexador de Sinais
Multiplexador de Sinais
Demais tabelas SI
Ferramentas para laboratório
ffmpeg / mjpegtools <ul><li>ffmpeg </li><ul><li>Software para conversão de arquivos de vídeo e áudio
LGPL / GPL </li></ul><li>mjpegtools </li><ul><li>yuvdenoise: melhora a qualidade e compressão do vídeo </li></ul><li>Insta...
$ sudo apt-get install ffmpeg, mjpegtools
Resultados </li><ul><li>ES do vídeo
ES do áudio </li></ul></ul>
Ferramentas para laboratório
OpenCaster <ul><li>Software desenvolvido pela empresa  AVALPA Digital Engineering SRL ,
para geração de transport streams MPEG-2
GPL
Originalmente criado para DVB
Próximos SlideShares
Carregando em…5
×

TV Digital - Entendendo a transmissão de aplicações - TDC2011

2.221 visualizações

Publicada em

Palestra realizada na trilha de TV Digital do TDC2011 Goiânia, no dia 29/10/2011

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.221
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TV Digital - Entendendo a transmissão de aplicações - TDC2011

  1. 1. TV Digital Entendendo a transmissão de aplicações Hugo Lavalle
  2. 2. Agenda <ul><li>Visão geral do sistema de televisão digital terrestre
  3. 3. Codificação e compressão </li><ul><li>MPEG-2 TS
  4. 4. Carrossel </li></ul><li>Multiplexador de sinais
  5. 5. Ferramentas para laboratório
  6. 6. Demonstração
  7. 7. Referências
  8. 8. Conclusão </li></ul>
  9. 9. Visão Geral
  10. 10. Codificação e Compressão
  11. 11. Codificação - MPEG-2 TS <ul><li>MPEG-2 Transport Stream (TS) </li><ul><li>Formato para transmissão de vídeo multiplexado com outros streams
  12. 12. TS x PS
  13. 13. Container para Packetized Elementary Streams (PES) </li></ul><li>PES </li><ul><li>Especificação para empacotamento de Elementary Streams (ES) </li></ul><li>ES </li><ul><li>Vídeo, áudio ou closed caption gerado pelo encoder
  14. 14. Formato depende do codec </li></ul></ul>
  15. 15. Codificação - Carrossel <ul><li>DSM-CC: </li><ul><li>D igital S torage M edia C ommand and C ontrol
  16. 16. Padrão criado antes da TV Digital
  17. 17. Especificações </li><ul><li>ISO/IEC 13818-6
  18. 18. ETSI EN 301 192
  19. 19. ETSI TR 101 202 </li></ul><li>TV digital </li><ul><li>Carrossel de dados
  20. 20. Carrossel de objetos (sistema de arquivo) </li></ul></ul></ul>
  21. 21. Multiplexador de Sinais
  22. 22. Multiplexador de Sinais
  23. 23. Multiplexador de Sinais
  24. 24. Multiplexador de Sinais
  25. 25. Multiplexador de Sinais
  26. 26. Multiplexador de Sinais
  27. 27. Multiplexador de Sinais
  28. 28. Demais tabelas SI
  29. 29. Ferramentas para laboratório
  30. 30. ffmpeg / mjpegtools <ul><li>ffmpeg </li><ul><li>Software para conversão de arquivos de vídeo e áudio
  31. 31. LGPL / GPL </li></ul><li>mjpegtools </li><ul><li>yuvdenoise: melhora a qualidade e compressão do vídeo </li></ul><li>Instalação no Ubuntu
  32. 32. $ sudo apt-get install ffmpeg, mjpegtools
  33. 33. Resultados </li><ul><li>ES do vídeo
  34. 34. ES do áudio </li></ul></ul>
  35. 35. Ferramentas para laboratório
  36. 36. OpenCaster <ul><li>Software desenvolvido pela empresa AVALPA Digital Engineering SRL ,
  37. 37. para geração de transport streams MPEG-2
  38. 38. GPL
  39. 39. Originalmente criado para DVB
  40. 40. Patch para o SATVD desenvolvido pelo LIFIA (versão 2.4)
  41. 41. Instalação no Ubuntu </li><ul><li>unzip
  42. 42. make
  43. 43. sudo make install </li></ul><li>Resultados </li><ul><li>TS do áudio, vídeo e carrossel
  44. 44. TS das tabelas SI
  45. 45. Multiplexação e geração do TS “final” </li></ul></ul>
  46. 46. Ferramentas para laboratório
  47. 47. DTA-115 (DekTec) <ul><li>Placa PCI para modulação e transmissão de MPEG-2 TS
  48. 48. Requisito mínimo do PC: Core 2@2GHz, 512 MB </li></ul>
  49. 49. StreamXpress (DekTec) <ul><li>Playout software </li></ul>
  50. 50. Outras ferramentas <ul><li>SBTVD Parser
  51. 51. DVBStreamExplorer
  52. 52. TSReader Lite </li></ul>
  53. 53. SBTVD parser <ul><li>Analisador de Transport Streams feito para o Sistema Brasileiro
  54. 54. de TV digital terrestre
  55. 55. GPLv3
  56. 56. Atualmente trabalha somente com arquivo
  57. 57. Lista de ToDos </li><ul><li>Interface com receptores para PC (DibCom, Hikarisoft, DekTec...)
  58. 58. Verificação de aplicações assinadas
  59. 59. Informações para debug de StreamEvents </li></ul></ul>
  60. 60. SBTVD parser
  61. 61. DVBStreamExplorer <ul><li>Analisador de Transport Streams </li><ul><li>Arquivo e sinal RF </li></ul><li>Possibilita extrair a aplicação Ginga do TS
  62. 62. Professional Edition (trial de 10 dias) </li></ul>
  63. 63. DVBStreamExplorer
  64. 64. TSReader Lite <ul><li>Analisador de TS
  65. 65. Suporta ATSC, DVB e ISDB
  66. 66. Gratuito para uso não comercial
  67. 67. Limitado para uso comercial
  68. 68. TSReader Standard
  69. 69. TSReader Professional </li></ul>
  70. 70. TSReader Lite
  71. 71. Demo
  72. 72. Exemplo – codificação e multiplexação <ul>1) Geração do TS de vídeo 2) Geração do TS de áudio 3) Geração do TS da aplicação Ginga 4) Geração do TS das tabelas SI 5) Multiplexação </ul>
  73. 73. Geração do TS do vídeo <ul>1) Extração e codificação do elementary stream do vídeo </ul><ul>$ ffmpeg -i video.avi -an -r 25 -f yuv4mpegpipe - | yuvdenoise | ffmpeg -i - -an -vcodec mpeg2video -f mpeg2video -b 2000k -maxrate 2000k -minrate 2000k -bf 2 -bufsize 1343488 video.es 2) Encapsular o elementary stream em um program stream $ esvideo2pes video.es > video.pes 3) Encapsular o vídeo em um transport stream $ pesvideo2ts 2064 25 112 2300000 0 video.pes >video.ts </ul>
  74. 74. Geração do TS do áudio <ul>1) Extração e codificação do elementary stream do áudio $ ffmpeg -i video.avi -vn -ab 128k -ar 48000 -acodec mp2 -ac 2 -t 180 audio.es 2) Encapsular o elementary stream em um program stream $ esaudio2pes audio.es 1152 48000 384 3600 > audio.pes 3) Encapsular o áudio em um transport stream $ pesaudio2ts 2068 1152 48000 384 0 audio.pes > audio.ts </ul>
  75. 75. Geração do TS da aplicação Ginga <ul>$ ls -lR app_ginga app_ginga: total 12 drwxrwxrwx 2 hugo hugo 4096 2011-08-03 21:02 arquivos -rw-r--r-- 1 hugo hugo 5773 2011-08-03 21:47 TestXletTwo.class app_ginga/arquivos: total 296 -rwxrw-rw- 1 hugo hugo 49160 2010-08-26 00:15 alianca.png -rwxrw-rw- 1 hugo hugo 80862 2010-08-26 00:15 bola_corinthians.png -rwxrw-rw- 1 hugo hugo 71872 2010-08-26 00:15 bola_palmeiras.png -rwxrw-rw- 1 hugo hugo 54290 2010-08-26 00:15 campo5.png -rwxrw-rw- 1 hugo hugo 9199 2010-08-26 00:15 imgagem.png -rwxrw-rw- 1 hugo hugo 19577 2010-08-26 00:15 obrigado.png -rwxrw-rw- 1 hugo hugo 21 2010-08-26 00:15 server.txt </ul>
  76. 76. Geração do TS da aplicação Ginga <ul><li>O script oc-update.sh gera o carrossel de objetos
  77. 77. $ oc-update.sh app_ginga 0x0C 1 2004 2
  78. 78. Será gerado o arquivo app_ginga.ts </li></ul>
  79. 79. Geração do TS das tabelas SI/PSI <ul><li>Script em python para geração dos arquivos ( gtables.py ) </li><ul><li>nit.ts
  80. 80. pat.ts
  81. 81. pmt.ts
  82. 82. ait.ts </li></ul><li>$ chmod u+x gtables.py
  83. 83. $ ./gtables.py </li></ul>
  84. 84. Multiplexação <ul>$ tscbrmuxer 1800000 <ul><ul><li>b:15040 pat.ts
  85. 85. b:15040 pmt.ts
  86. 86. b:3008 sdt.ts
  87. 87. b:3008 nit.ts
  88. 88. b:3008 ait.ts
  89. 89. b:600000 app_ginga.ts
  90. 90. b:2300000 video.ts
  91. 91. b:188000 audio.ts
  92. 92. b:26831190 null.ts > mux.ts </li></ul></ul>$ tsstamp mux.ts 29958294 > mux.fixed.ts </ul>
  93. 93. Referências <ul><li>Normas ABNT 15603-2, 15606-3, 15608-3: http://www.forumsbtvd.org.br/
  94. 94. ffmpeg: http://www.ffmpeg.org/
  95. 95. OpenCaster: http://www.avalpa.com/the-key-values
  96. 96. LIFIA en la Comunidad Ginga </li><ul><li>http://wiki.ginga.org.ar/doku.php?id=lifia:inicio </li><ul><li>OpenCaster para SATVD-T (pdf)
  97. 97. TS de amostra com aplicação NCL
  98. 98. OpenCaster v2.4
  99. 99. Patch para o Ginga </li></ul></ul><li>SBTVD parser: http://sbtvdparser.sourceforge.net
  100. 100. DVBStreamExplorer: http://www.dvbstreamexplorer.dk/dvbse/
  101. 101. TSReader Lite: http://www.tsreader.com/tsreader/index.html </li></ul>
  102. 102. Conclusão INTERATIVIDADE
  103. 103. Hugo Cesar Crohare Lavalle [email_address] twitter.com/hcclavalle

×