Televisió digital / Digital Television

Index

General

MPEG

TV Interactiva / Interactive TV

Metadades / Metadata

HDTV

3D TV

4K

Subtítols / Subtitles

Accés condicional / Conditional access

Programari / Software

  • DIY Broadcast: How to build your own TV channel with open-source
  • Playout / Reception

    emission reception
    JustDVB-It /
    OpenCaster
    linuxtv others others Avalpa / Cineca
    dvb-apps
    (linuxtv)
    libdvb
    (metzlerbros)
    dvbtools
    (linuxstb)
    A/V


    mpeg2dec / libmpeg2
    Jet / JTV (Avalpa)
    IDTVOS (Inteco)



    MHP app
    (player)


    OpenTDT yambo
    OpenMHP
    rb-browser
    mhp4free (dist)



    DVB-H ESG




    libesg

    DVB_H IP encap AMUSE: FATCAPS (sf)



    dvbnet

    MPE JustDvb-It (Cineca DVB)




    DSM-CC dsmcc-mhp-tools
    redbutton (compilation)
    MHP VDR plugin




    DVB-PSI (EPG...)

    EIT/EPG

    libucsi

    MPEG-PSI
    libdvbpsi (VideoLan)



    TS ASI






    TS MUX tscbrmuxer mplex13818
    tstool

    ts2ps
    replex

    RF
    soft modulator

    tzap
    dvbtune
    IP
    tsudpsend
    tstcpsend



    tstcpreceive
    tsudpreceive



    • OpenCaster (wp)
      • Manual
      • Related components:
        • Avalpa Broadcast Web EPG
      • Instal·lació / Installation
        • baixada / download
          • mkdir ~/src; cd ~/src
          • wget http://ftp.de.debian.org/debian/pool/main/o/opencaster/opencaster_3.2.2+dfsg.orig.tar.gz
          • tar xvzf opencaster_3.2.2+dfsg.orig.tar.gz
          • wget http://www.avalpa.com/assets/freesoft/opencaster/OpenCaster-tutorials.3.2.2.tgz
          • tar xvzf OpenCaster-tutorials.3.2.2.tgz
        • dependències / dependencies
          • Mageia
            • urpmi lib64python-devel
          • Ubuntu
            • sudo apt-get install libpython-dev yasm zlib1g-dev
        • OpenCaster
          • cd ~/src/opencaster-3.2.2
          • patches
            • sed -i 's#net/if_tun.h#linux/if_tun.h#g' tools/mpe2sec/mpe.c
            • sed -i 's.#INSTHOME ?= /usr.INSTHOME = /.g' libs/dvbobjects/Makefile
            • make
            • su; make install
          • patched x264 with PES raw output
            • dependències / dependencies
            • cd ~/src
            • git clone git://git.videolan.org/x264.git
            • cd x264/output
            • mv raw.c raw.original.c
            • cp ~/src/OpenCaster-tutorials.3.2.2/extra/x264/output/raw.c .
            • cd ..
            • ./configure
            • make
            • su (Ubuntu: sudo -i)
            • make install
            • mv x264 x264_pes
          • tsrfsend (simple application for sending using hardware devices, e.g. RF modulator)
            • compilation
              • tar xvf tsrfsend-v1.0
              • cd tsrfsend/
              • make
              • su
              • make install
            • usage
              • tsrfsend ...
          • ebu / hbbtv-dvbstream
        • Modulador / Modulator
          • HiDes UT-100C transmitter
        • Tutorial
          • release-3.2/tutorials/
            • start-here
            • first-file-mux
            • psi-generation
            • ...
        • Utilització / Usage









          to file
          transmition
          reception


          source
          coding
          ES
          to generate sec / pes
          generated sec / pes
          to generate ts
          generated TS
          to mux
          muxed TS file
          loop / mux
          tdt
          pcr stamp
          double output
          transmit
          ts{rf,asi,udp}send
          receive
          demux













          insert real time/date






          analysis
          OpenCaster


          esvideompeg2info
          esaudioinfo

          pesinfo

          tspcrmeasure muxed_....ts 4000000




          dvbsnoop



          dvbsnoop -s sec
          dvbsnoop -s pes

          dvbsnoop -tsraw -s ts -tssubdecode -if muxed_....ts -N 2 0




          ffmpeg


          ffprobe -show_frames

          ffprobe -show_frames
          ffprobe -show_streams

          ffprobe -show_streams

          ffprobe -show_format





          A/V mpeg2 video video.yuv ffmpeg video.m2v esvideompeg2pes video.pes pesvideo2ts video.ts 2496916 bps:
          • tscbrmuxer c:2300000 video.ts b:188000 audio.ts b:3008 pat.ts b:3008 pmt.ts b:1500 sdt.ts b:1400 nit.ts > muxed_2496916.ts
          13271000 bps (DVB-compliant bit-rate):
          • tscbrmuxer c:2300000 video.ts b:188000 audio.ts b:3008 pat.ts b:3008 pmt.ts
            b:1500 sdt.ts b:1400 nit.ts b:2000 eit.ts b:2000 tdt.ts b:10770084 null.ts > muxed_13271000.ts
          • tscbrmuxer c:2300000 video.ts b:188000 audio.ts b:3008 pat.ts b:3008 pmt.ts
            b:1500 sdt.ts b:1400 nit.ts b:2000 eit.ts b:2000 tdt.ts o:13271000 null.ts > muxed_13271000.ts

          muxed_....ts
          2496916 bps:
          • tsloop sample.ts > fifomuxed.ts &
          13271000 bps (DVB-compliant bit-rate):
          • tsloop sample.ts > fifomuxed.ts &
          • tscbrmuxer b:2300000 video.ts b:188000 audio.ts b:3008 pat.ts b:3008 pmt.ts
            b:1500 sdt.ts b:1400 nit.ts o:13271000 null.ts > fifomuxed.ts &
          • mkfifo fifotdt.ts
          • tstdt fifomuxed.ts > fifotdt.ts &
          2496916 bps:
          • tsstamp fifotdt.ts  2496916 > fifotsstamp.ts &
          13271000 bps :
          • tsstamp fifotdt.ts 13271000 > fifotsstamp.ts &
          tsdoubleoutput
          2496916 bps:
          • tsudpsend fifotsstamp.ts 224.0.1.2 1234 2496916
          13271000 bps:
          • tsrfsend fifotsstamp.ts -mt OFDM -mC QAM16 -mG 1/4 -mc 2/3 -mf 578
          • tsrfsend fifotsstamp.ts 1 810000 8000 16 2/3 1/4 8 0 0
          • tsasisend fifotsstamp.ts -r 13271000
          • tstcpsend OC3.demo.ts 192.168.0.45 1234 13271000
          • tsudpsend OC3.demo.ts 224.0.1.2 1234 13271000
          • mplayer -nocache -noidx udp://224.0.1.2:1234
          • vlc ...
          • tstcpreceive 1234 > received.ts
          ts2pes
          pes2es
          H.264 video
          x264 video.h264 ?
          x264_pes
          mpeg2audio audio.wav
          ffmpeg audio.mp2 esaudio2pes audio.pes pesaudio2ts audio.ts
          AC3 audio
          audio.ac3
          AAC audio
          audio.aac
          PSI / SI
          pat.py
          python











          pat.sec
          sec2ts 0 < pat.sec > pat.ts
          pat.ts

          nit.py nit.sec
          sec2ts 16 < nit.sec > nit.ts nit.ts

          sdt.py sdt.sec sec2ts 17 < sdt.sec > sdt.ts sdt.ts

          eit.py eit.sec
          sec2ts 18 < eit.sec > eit.ts eit.ts

          eit_follow.py eit_follow.sec
          sec2ts 18 < eit_follow.sec >> eit.ts

          tdt.py tdt.sec
          sec2ts 20 < tdt.sec > tdt.ts tdt.ts

          pmt.py pmt.sec sec2ts ... < pmt.sec > pmt.ts pmt.ts

          ait.py ait.sec
          sec2ts ... < ait.sec > ait.ts ait.ts

          config.py
          python
          pat.ts nit.ts
          sdt.ts pmt.ts eit.ts tdt.ts
        • General script
        • Re-multiplexing
          • Re-multiplexing input transport streams
          • Tools
            • tsorts
            • tsmodder
        • Audio / Video
          • extraction and analysis (of existing TS):
            • video
              • ts2pes firstvideo.ts 2064 > videooutput.pes
              • pesinfo videooutput.pes
              • pes2es videooutput.pes 224 > video.es
              • esvideompeg2info video.es
                • vbv buffer size: 112
              • Bit-rate control
                • vbv video.es; gnuplot ~/src/OpenCaster/release-3.2/tools/mpeg2videovbv/plot.p
                  • will generate: vbvData.dat
            • audio
              • ts2pes firstaudio.ts 2068 > audiooutput.pes
              • pes2es audiooutput.pes 192 > audio.es
              • esaudioinfo audio.es
          • coding:
            • SD
              • mpeg-2 video:
                • with bufsize = vbv_buffer_size (=112 16kbit-units) * 1024 * 16= 1835008 bits
                  • ffmpeg -i input.ext -an -vcodec mpeg2video -f mpeg2video -b 5000k -maxrate 5000k -minrate 5000k -bf 2 -bufsize 1835008 video.m2v
                • esvideompeg2info video.m2v
                • esvideompeg2pes video.m2v 1> video.pes 2> video.pes.length
                • pesinfo video.pes
                • video ts bit-rate calculation:
                  • 15% more than the ES video bit-rate:
                    • 5000000 * 1.15 = 5270000 bits/s
                • with pid=2064, es_framerate=25, es_video_vbv=112 (in 1024*16=16kbits units), ts_video_bitrate=5270000 (15% more than the video bit-rate), loop_on=0
                  • pesvideo2ts 2064 25 112 5270000 0 video.pes > video.ts
              • mpeg-2 audio:
                • ffmpeg -i input.mpg -ac 2 -vn -acodec mp2 -f mp2 -ab 128000 -ar 48000 audio.mp2
                • esaudioinfo audio.mp2
                • with samples_per_frame=1152 (fixed for MPEG-2 layer 2), sample_rate=48000, frame_size_without_padding=384 (from esaudioinfo, or calculated -> see below), AD_fade_value=-1, pts_offset=3600:
                  • esaudio2pes audio.mp2 1152 48000 384 -1 3600 > audio.pes
                • pesinfo audio.pes
                • audio ts bit-rate calculation:
                  • audio @ CBR 128000 bits/s / 8 bits/byte / 48000 samples/s * 1152 samples/frame = 384 bytes/frame
                  • (384 bytes/frame / 184 payload_bytes/ts_packet = 2,08 ts_packets/frame -> 3 ts_packets/frame * 188 total_bytes/ts_packet *  8 bits/byte = 4152) bits/frame * 48000 samples/s / 1152 samples/frame = 188000 bits/s
                  • suggestions for MPEG-1,2 audio (48000 samples/s) (opencaster-3.2.2/README):
                    audio ES kbps
                    bytes/frame
                    pes packet
                    ts packet
                    audio ts bits/s
                    (to be specified in tscbrmuxer)
                    56
                    168
                    1
                    1
                    62667
                    112
                    336
                    1
                    2
                    125333
                    160
                    480
                    1
                    3
                    188000
                    224
                    672
                    1
                    4
                    250667
                • with pid=2068, samples_per_frame=1152, sample_rate=48000, es_frame_size[:video_pts_step]=384, (?)audio_description_header=-1, loop_on=0:
                  • pesaudio2ts 2068 1152 48000 384 -1 0 audio.pes > audio.ts
              • mux
            • HD
              • H.264 video:
                • ffmpeg -i big_buck_bunny_1080p_h264.mov 'movie=OpenCaster/tutorials/encodingHD/logo_tv.png [wm];[in] [wm] overlay=0:0:0:0 [out]' -f yuv4mpegpipe - | ./x264 --level 4.0 --nal-hrd cbr --vbv-bufsize 2000 --bitrate 7200 --keyint 12 --vbv-init 0 -o bb.x264.hd.video.pes
                • if you need ffmpeg (e.g. to apply a filter [pad to create a letterbox, overlay to add a logo, ...] not present in x264):
                  • ffmpeg -i big_buck_bunny_1080p_h264.mov -vf 'movie=OpenCaster-tutorials.3.2.2/tutorials/encodingHD/logo_tv.png [wm];[in] [wm] overlay=0:0:0:0 [out]' -f yuv4mpegpipe - | x264_pes --demuxer y4m --level 4.0 --nal-hrd cbr --vbv-bufsize 2000 --bitrate 7200 --keyint 12 --vbv-init 0 -o bb.x264.hd.video.pes -
                  • ffmpeg -i sintel-1280-surround.mp4 -vf 'pad=width=iw:height=720:y=(oh-ih)/2' -f yuv4mpegpipe - | x264_pes --demuxer y4m --level 4.0 --nal-hrd cbr --vbv-bufsize 2000 --bitrate 7200 --keyint 12 --vbv-init 0 -o sintel_hd_letterbox.pes -
                • if you do not need ffmpeg, you can directly use patched x264:
                  • x264_pes --level 4.0 --nal-hrd cbr --vbv-bufsize 2000 --bitrate 7200 --keyint 12 --vbv-init 0 -o bb.x264.hd.video.pes big_buck_bunny_1080p_h264.mov
                • with pid=2066, es_framerate=24, es_video_vbv=7200000 (in bits), pcr_rate=38ms, ts_video_bitrate=7600000, loop_on=0
                  • pesvideo2ts 2066 24:38 b7200000 7600000 0 bb.x264.hd.video.pes > video.ts
              • AC3 audio:
                • ffmpeg -i big_buck_bunny_1080p_h264.mov -vn -acodec ac3 -ar 48000 -ab 448k audio24p.ac3
                • esaudioinfo audio24p.ac3
                • with samples_per_frame=1536 (AC-3 standard), sample_rate=48000, frame_size_without_padding=1792 (from esaudioinfo, or calculated -> see below), AD_fade_value=-1, pts_offset=3750
                  • esaudio2pes audio24p.ac3 1536 48000 1792 -1 3750 > audio.pes
                • with pid=2069, samples_per_frame=1536 (AC-3 standard), sample_rate=48000, es_frame_size[:video_pts_step]=1792, loop_on=0:
                  • pesaudio2ts 2069 1536 48000 1792 0 audio.pes > audio.ts
                • ts bit-rate calculation:
                  • audio @ CBR 448000 bits/s / 8 bits/byte / 48000 samples/s * 1536 samples/frame = 1792 bytes/frame
                  • (1792 bytes/frame / 184 payload_bytes/ts_packet = 9,74 ts_packets/frame -> 10 ts_packets/frame * 188 total_bytes/ts_packet *  8 bits/byte = 15040) bits/frame * 48000 samples/s / 1536 samples/frame = 470000 bits/s
              • SI/PSI
              • mux
                • tscbrmuxer b:7600000 video.ts b:470000 audio.ts
            • Sintel in SD and HD, HbbTV
              • MPEG-2 audio
                • ffmpeg -i sintel-1280-surround.mp4 -vn -ac 2 -codec:a mp2 -b:a 128000 -ar 48000 -f mp2 sintel.mp2
                • esaudio2pes sintel.mp2 1152 48000 384 -1 3600 > sintel.mp2.pes
                • pesaudio2ts 2068 1152 48000 384 0 sintel.mp2.pes > sintel.mp2.ts
              • SD video
                • ffmpeg -i sintel-1280-surround.mp4 -vf 'pad=width=iw:height=720:y=(oh-ih)/2, scale=w=720:h=576' -c:v mpeg2video -b:v 5M -minrate 5M -bufsize 1835008 -maxrate 5M -an -aspect 16:9 sintel_sd_16:9.m2v
                • esvideompeg2pes sintel_sd_16:9.m2v 1> sintel.m2v.pes 2> sintel.m2v.pes.length
                • pesvideo2ts 2064 25 112 5270000 0 sintel.m2v.pes > sintel.m2v.ts
              • HD video
                • ffmpeg -i sintel-1280-surround.mp4 -vf 'pad=width=iw:height=720:y=(oh-ih)/2' -c:v libx264 -x264opts 'nal-hrd=cbr:vbv-bufsize=2000:vbv-maxrate=7200' -b:v 7.2M -minrate 7.2M  -an sintel_hd.h264
              • AAC audio
                • ffmpeg -i sintel-1280-surround.mp4 -vn -ac 2 -codec:a aac -strict -2 -b:a 128000 -ar 48000 sintel.aac
              • SI/PSI
                • config.py
          • logo insertion
            • ffmpeg -i /mnt/VIDEO_TS/VTS_01_1.VOB -an -vf 'movie=OpenCaster/tutorials/encoding/logo_tv.png [wm];[in][wm] overlay=0:0:0:0 [out]' -f mpeg2video -vcodec mpeg2video -b 2600k -maxrate 2600k -minrate
              2600k -bf 2 -bufsize 1835008 -aspect 4:3 ed.m2v

      • DIY broadcast: how to build your own TV channel with open-source and other goodies
      • gbDVB: DVB-T Simulator & other tools
    • linuxtv.org
    • linuxdvb.tv
    • linuxstb.org (dvbtools sourceforge)
    • VideoLAN
    • dvbloopback (based on Video4Linux loopback)
    • Cineca DVB software
      • CreaTV (LiveCD)
      • JustDVB-IT (IP encapsulation)
      • yambo: an MHP XML browser
    • Redbutton (DSMCC decoder)
    • DVB Linux Links
    • dvbSAM (Decontis)
    • MPEG TS/DVB Muxer (ffmpeg Google summer code)
    • LabMU (Xpertia)


    SCM image rpm
    git
    hg cvs cvs snapshot tar mdv
    dvb-kernel
    v4l-dvb
    • v4l-utils (urpmi v4l-utils)
      • dvb-fe-tool
      • dvb-format-convert
      • dvbv5-scan
      • dvbv5-zap
    • qv4l2 (urpmi v4l-utils-qt4)
      • qv4l2

    linuxtv linuxtv (1) linuxtv

    (kernel)
    dvb-apps (linuxtv.org) (config)
    (API)
    • README
    • util
      • main user applications
      • general utilities
        • dvbdate (Set your clock from digital TV)
        • dvbnet (Control digital data network interfaces)
        • dvbtraffic (Monitor traffic on a digital device)
        • femon (Monitor the tuning on a digital TV device)
        • zap (*Just* tunes a digital device)
        • szap
        • tzap
        • gotox (Simple Rotor control utility)
        • alevt (Teletext capture and display utility)
        • lsdvb (list DVB devices)
      • hardware specific utilities
        • av7110_loadkeys (Load remote keys into an av7110 based card)
        • util/dib3000-watch (Monitor DIB3000 demodulators)
        • util/dst-utils (Utilities for DST based cards)
        • util/ttusb_dec_reset (Reset a TechnoTrends TTUSB DEC device)
    • lib
      • libdvbapi
      • libdvbcfg
      • libdvben50221
      • libdvbmisc
      • libdvbsec
      • libesg
    • test

    linuxtv (2) linuxtv linuxdvb
    DVB


    linuxtv (3)
    1.1.7 (metzlerbros) (kernel)
    libdvb (dvb-mpegtools)
    • dvb-mpegtools_main
    • dvb_analyze
    • dvb_ts2es
    • dvb_ts2ps
    • dvb_ts_demux
    • dvb_insert_pat_pmt
    • dvb_streamtype
    • dvb_change_aspect_16_9
    • ...





    0.5.3 (metzlerbros)
    • libdvb: 2007
    • libdvb-devel
    tuxzap





    0.5.3 (metzlerbros)
    dvbtools (linuxstb.org)

    sourceforge (4)


    GNU Tuxbox (Apps)





    Video LAN





    • libdvbpsi
    • libdvbpsi-devel
    1. cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login;
      cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-kernel
    2. cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login;
      cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co dvb-apps
    3. cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv login;
      cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/linuxtv co DVB
    4. cvs -d:pserver:anonymous@dvbtools.cvs.sourceforge.net:/cvsroot/dvbtools login;
      cvs -z3 -d:pserver:anonymous@dvbtools.cvs.sourceforge.net:/cvsroot/dvbtools co -P dvbtune
      cvs -z3 -d:pserver:anonymous@dvbtools.cvs.sourceforge.net:/cvsroot/dvbtools co -P dvbstream

    • Sintonització DVB Tuner 

      • info PID info gathered SI tune view record stream network interface
        frontend all single XML vdr zap
        application dvb-apps (source)
        (config)
        (usage)
        femon scandvb -o pids [-c (needs tzap or dvbtune -m running)]

        • scandvb -o vdr [-c | initial_file]
        • scandvb -o zap [-c | initial_file]
        • tzap TV3 (needs zap file from scandvb)
        • szap
        • scandvb initial_file
        tzap -r "TV3" && mplayer -cache 1024 - < /dev/dvb/adapter0/dvr0 tzap -r "TV3" && cat /dev/dvb/adapter0/dvr0 > tv3.ts
        • gnutv -channels ~/.tzap/channels.conf -out udp ...
        • gnutv -channels ~/.tzap/channels.conf -out rtp ...
        dvbnet -p pid
        dvbd







        (several services from one TS)

        dvbtools
        (usage)




        dvbtune -i

        • dvbtune -f 658000 -qam 64 -gi 4 -cr AUTO -bw 8 -tm 8
        • dvbtune -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8
        • dvbstream -f 650000

        dvbtune -n dpid
        MuMuDVB









        dvbsnoop dvbsnoop -s feinfo (set freq using dvbtune) dvbsnoop -s pidscan (on TS from feinfo) dvbsnoop [-spiderpid] pid







        qdvbzap





        x


        Kaffeine





        x


        KaxTV





        x


        Klear 





        x


        mplayer





        mplayer dvb://TV3


        ProgDVB










        vlc





        vlc dvb:// --dvb-frequency=650000000


        xine





        x


        media centre Freevo





        x

        GeexBox





        x ?

        MythTV





        x

        VDR





        x (plugin)
      • ...

      • tune streaming view record
        single service dvbtune -f 658000 -qam 64 -gi 4 -cr AUTO -bw 8 -tm 8 -m


        tzap -r "TV3"
        (-r to set /dev/dvb/adapterX/dvr0 for TS recording)

        mplayer -cache 1024 - < /dev/dvb/adapter0/dvr0 cat /dev/dvb/adapter0/dvr0 > tv3.ts
        ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -f mpegts udp://224.0.0.1:5004 mplayer -cache 1024 udp://224.0.0.1:5004

        gst-launch-0.10 filesrc location=/dev/dvb/adapter0/dvr0  ! video/mpegts ! ffdemux_mpegts name=d  d.video_00 ! video/mpeg ! ffdec_mpeg2video ! xvimagesink
        gst-launch dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=514000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 pids=256:257 ! flutsdemux crc-check=false name=demux es-pids=256:257 ! queue max-size-buffers=0 max-size-time=0 ! flumpeg2vdec ! xvimagesink sync=false demux. ! queue max-size-buffers=0 max-size-time=0 ! flump3dec ! alsasink sync=false
        mplayer dvb://TV3
        vlc dvb:// --dvb-frequency=658000000 --dvb-adapter=0 --dvb-bandwidth=8 --program=261 (*)
        dvbstream -f 658000 ... [-net ip_add:port]
        mplayer rtp://...
        dvbstream -f 658000 ... pid_v pid_a -o
        • | mplayer -
        • | vlc -
        > tv3.ts
        whole TS dvbstream -f 658000 ... 8192 -o
        • | mplayer -vid pid_v -aid pid_a  -
        • | vlc -
        > tvc.ts
        gst-launch dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8MHz freq=514000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 ! flutsdemux crc-check=false name=demux ! queue max-size-buffers=0 max-size-time=0 ! flumpeg2vdec ! xvimagesink sync=false demux. ! queue max-size-buffers=0 max-size-time=0 ! flump3dec ! alsasink sync=false


      • command line (see also Utilitats/Utilities):
        • Testing your DVB device (dvb-apps, dvbtraffic, dvbsnoop, dvbstream) (DVB wiki)
        • dvb-apps
          • scan
            • w_scan (wirbel) (all VHF, UHF band):
              • download and compile
                • Dependencies:
                  • Mageia
                    • urpmi kernel-desktop-devel-latest
                • wget http://wirbel.htpc-forum.de/w_scan/w_scan-20140118.tar.bz2
                • tar xvjf w_scan-20140118.tar.bz2
                • cd w_scan-20140118
                • ./configure; make
                • make install
              • usage
                • w_scan -c ES
                • w_scan -c ES -x > initial-tuning-data.txt (to generate the file initial-tuning-data.txt, e.g. /usr/share/dvb/dvb-t/es-Collserola, to be used by scandvb)
                • w_scan -c ES -X > channels.conf (to be used by tzap)
            • only selected channels:
              • scandvb /usr/share/dvb/dvb-t/es-Collserola > ~/.tzap/channels.conf (only selected channels specified in initial-tuning-data.txt or es-Collserola)
            • format of channels.conf:
          • gnutv (dvb-apps)
            • gnutv -channels ~/.tzap/channels.conf TV3
          • mplayer
            • scandvb /usr/share/dvb/dvb-t/es-Collserola > ~/.mplayer/channels.conf
            • mplayer dvb://TV3
          • tzap & mplayer
            • scandvb /usr/share/dvb/dvb-t/es-Collserola ~/.tzap/channels.conf
            • tzap -r "TV3" (-r to set /dev/dvb/adapter0/dvr0)
            • view
              • mplayer -cache 1024 - < /dev/dvb/adapter0/dvr0
            • record
              • cat /dev/dvb/adapter0/dvr0 > tv3.ts
        • ffmpeg transcoding to H.264 and streaming:
          • tzap -r "TV3" (-r to set /dev/dvb/adapter0/dvr0)
          • ffmpeg -f mpegts -vsync 1 -map 0.0:0.1 -map 0.1 -i /dev/dvb/adapter0/dvr0 -vcodec libx264 -vpre normal -vb 428288 -g 16 -s 320x240 -acodec aac -ab 96000 -ac 1 -deinterlace -f mpegts udp://224.0.0.1:5004
          • mplayer -cache 1024 udp://224.0.0.1:5004
        • gstreamer
          • GStreamer dvbsrc pipeline example.
          • GStreamer Transcoding and Scaling
          • Stream all mux:
            • gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=658000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 ! queue2 ! udpsink host=192.168.0.8 port=5004 sync=false
          • Stream selected PIDs:
            • gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=658000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 pids=111:112 ! queue2 ! udpsink host=192.168.0.8 port=5004 sync=false
          • Transcode and stream:
            • gst...
          • gst-launch dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=514000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 pids=256:257 ! flutsdemux crc-check=false name=demux es-pids=256:257 ! queue max-size-buffers=0 max-size-time=0 ! flumpeg2vdec ! xvimagesink sync=false demux. ! queue max-size-buffers=0 max-size-time=0 ! flump3dec ! alsasink sync=false
          • gst-launch-1.0 dvbsrc modulation="QAM 64" trans-mode=8k bandwidth=8 frequency=658000000 code-rate-lp=AUTO code-rate-hp=2/3 guard=4 hierarchy=0 pids=111:112 ! flutsdemux crc-check=false name=demux es-pids=111:112 ! queue max-size-buffers=0 max-size-time=0 ! flumpeg2vdec ! xvimagesink sync=false demux. ! queue max-size-buffers=0 max-size-time=0 ! flump3dec ! alsasink sync=false
        • perl Linux-DVB (interface to (some parts of) the Linux DVB API)
        • dvbtools
          • dvbtune (wiki)
            • dvbtune -f 658000 -qam 64 -gi 4 -cr AUTO -bw 8 -tm 8
            • tune satellite receiver to 11568MHz (11,568GHz):
              • dvbtune -f 11568 -p v -s 22000
            • xml output (-i)
              • dvbtune -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 -i
          • dvbstream (wiki) (dvbstream.c) (vegeu el substitut / see replacement: MuMuDVB)
            • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 pmt_pid video_pid audio1_pid audio2_pid ...
            • TS over RTP (default: -rtp -net 224.0.1.2:5004)
              • view (multicast streaming to default 224.0.1.2:5004)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 110 111 112 113
                • mplayer rtp://224.0.1.2:5004
            • TS over UDP:
              • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 -udp 110 111 112 113
            • output to file (-o):
              • view (standard output: -o)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 110 111 112 113 -o | mplayer -
              • record (2 services -> 1 file) (cvs version needed) (includes PAT and PMT)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 -prog -o:tvc.ts 801 802
              • record (2 services -> 2 files) (cvs version needed) (includes PAT and PMT)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 -prog -o:tv3.ts 801 -o:c33.ts 802
              • record (selected PIDs)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 110 111 112 113 -o > tv3.ts
              • record (whole TS: 8192)
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 8192 -o > tvc.ts
                • dvbstream -f 658000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 8192 -o > tvc_hd.ts
                • dvbstream -f 11568 -p v -s 22000 8192 -o:/tmp/astra_11568v.ts
                • dvbstream -f 11568 -p v -s 22000 8192 -o > /tmp/astra_11568v.ts
              • record only (approx.) 10 seconds (requires latest version from cvs):
                • dvbstream ... -n 10 ...
              • record 60 seconds of the whole TS at every specified frequency:
                • #!/bin/bash
                  for freq in 514 522 554 570 578 586 618 658 666 682 794 818 842 850 858;
                  do
                      /usr/bin/dvbstream -f ${freq}000 -qam 64 -gi 4 -cr 2_3 -bw 8 -tm 8 -n 60 8192 -o > /tmp/${freq}_`date +"%Y%m%d-%H%M"`.ts
                  done
        • MuMuDVB
          • Documentació / Documentation
          • OpenWRT compilation
          • descàrrega / download
            • git clone git://github.com/braice/MuMuDVB.git
          • dependències / dependencies
            • Mageia
              • urpmi autoconf automake gettext-devel
          • compilació / compilation
            • cd MuMuDVB
            • autoreconf -i -f
            • ./configure
            • make
            • su; make install
          • scripts
            • Debian
              • cp scripts/debian/etc/default/mumudvb /etc/default/mumudvb
                cp scripts/debian/etc/init.d/mumudvb /etc/init.d/mumudvb
            • Mageia
              • cp ...
          • usuari / user
            • ...
          • utilització / usage
            • mumudvb.conf (doc/configuration_examples/autoconf_full.conf)
              • freq=658
                autoconfiguration=full

            • mumudvb -d -c mumudvb.conf
          • visualització / view
            • SAP
              • vlc
                • Visualitza -> Llista de reproducció -> Xarxa local -> Fluxos de xarxa (SAP)
            • direct (@: multicast)
              • vlc udp://@239.100.0.0:1234
          • monitoratge / monitoring
          • transcodificació / transcoding
            • ffserver
              • MuMuDVB/doc/html/TRANSCODE_EXTERNAL.html (txt)
            • other (deprecated?)
              • MuMuDVB/doc/transcode/ (txt)
          • problemes / problems
            • configure.ac:27: warning: macro 'AM_ICONV' not found in library
              configure.ac:27: error: possibly undefined macro: AM_ICONV
                    If this token and others are legitimate, please use m4_pattern_allow.
                    See the Autoconf documentation.
              • Solució / Solution
                • assegureu-vos que teniu el fitxer iconv.m4 instal·lat / make sure the file iconv.m4 is installed:
                  • urpmi gettext-devel
    • Edició DVB Edition 
    • Utilitats / Utilities

    Publicacions / Publications

    EBU - European Broadcasting Union / UER

    Mòbil / Mobile


    codec protocol phy bandwidth (MHz) modulation error coding time slicing where
    DVB-H
    IP DVB 8
    • QPSK
    • 16QAM
    • 64QAM
    conv + RS-FEC + MPE-FEC real Europe
    USA
    Asia
    DXB
    DAB



    Germany
    T-DMB MPEG4 MPEG-TS 1.712
    • DQPSK
    conv + RS-FEC micro Europe
    Korea
    MediaFLO

    OFDM



    USA
    BT-Livetime
    IP DAB EPM



    UK
    ISDB-T

    single segment mode



    Japan
    MBMS

    UMTS / IMT 2000



    Europe
    USA
    Japan
    .

    first generation
    second generation
    convergence
    DVB
    DVB-H
    DVB-NGH phase 1
    CBS (Common Broadcast Specification):
    • DVB-NGH phase 2
    • LTE E-MBMSv2
    3GPP
    iMB (integrated Mobile Broadcasting) (wp)
    LTE E-MBMS

    ISO-OSI MBMS DVB-H eDAB DMB T-DMB


    H264 / AVC (CIF)

    MPEG4

    IPDC services






    FLUTE


    RTP/SRTP ALC/LCT

    UDP

    IPv6
    PSI/SI MPE


    link
    MPEG2 TS MPEG2 TS
    physical UMTS DVB-T (+4k) DAB
    DxB

    IPTV (managed Internet)

    Web and TV

    HBB Hybrid Broadcast Broadband (unmanaged Internet)

    Over the top (OTT) / Internet TV / TV over broadband

    Segona pantalla / Second screen

    Xarxa domèstica / Home Network

    TV P2P

    • ...

    Maquinari / Hardware

    • Moduladors / Modulators
      • HiDes (Idealez)
        • UT-100C + OpenCaster Special Edition (USB DVB-T trasnsmitter) (OpenCaster)
          • Downloads
            • SDK_Linux.zip
          • ID 048d:9507 Integrated Technology Express, Inc. ITE it9507 full featured DVB-T transmission chip [ccHDtv]
          • Driver compilation (instructions from USB pendrive: Avalpa/OC-QSG-v1.0.pdf)
            • Dependencies
              • Mageia
                • urpmi kernel-desktop-devel-latest
            • cd SDK_Linux/it950x_linux_v13.06.27.1/it950x_driver/
            • if kernel >=3.4 :
              • sed -i 's/err(/pr_err(/g' src/it950x-core.c
            • make
            • su; make install
          • udev
            • /etc/udev/rules.d/it950x.rules
              • # original it950x vid/pid (ite 9507)
                SUBSYSTEMS=="usb", ATTRS{idVendor}=="048d", ATTRS{idProduct}=="9507",MODE:="0666"
            • connect the USB device
            • comproveu que funciona / check that it is working
              • ls -l /dev/usb-it9*
                • /dev/usb-it913x0
                  /dev/usb-it950x1
          • tsrfsend (instructions from «OpenCaster 3.2 Quick Start Guide», USB pendrive: Avalpa/OC-QSG-v1.0.pdf)
            • extract from USB pendrive:
              • cd Avalpa
              • tar xvf tsrfsend-v1.0
            • compilation
              • cd tsrfsend
              • make clean
              • make
              • su; make install
            • usage (from file OC3.demo.ts [16qam, 2/3 fec, 1/4 gi], transmit on device 1 at 810MHz frequency, 8MHz bandwidth, 16qam, 2/3 fec, 1/4 gi, 8k mode, 0 cell id, 0 gain [-52..6])
          • OpenCaster 3.2 (instructions from «OpenCaster 3.2 Quick Start Guide», USB pendrive: Avalpa/OC-QSG-v1.0.pdf)
            • dependencies
              • Mageia
                • urpmi lib64python-devel
            • extract from USB pendrive:
              • cd Avalpa
              • tar xvf OpenCaster-v3.2
            • compilation
              • cd release-3.2
              • make
              • su; make install
              • utilització / usage
                • mkfifo fifo.ts
                • tsloop OC3.demo.ts > fifo.ts &
                • tsrfsend fifo.ts 1 810000 8000 16 2/3 1/4 8 0 0
      • Fabricants / Manufacturers
      • STB
      • DVB-ASI
        • Dektec
          • Drivers
            • download linux drivers
            • su; cd Dtu2xx; make; chmod +x InstallDtu2xx; ./InstallDtu2xx
          • Play TS
            • cd DtPlay; make
            • Portivity (8MHz, 8k, QPSK, GI=1/16, CR=1/2 -> 5848889bps [6048/(0.000896)/(1+1/16)*188/204*2*1/2]):
              • DtPlay toto.ts -r 5848889
      • PC cards / USB dongles
      • TV portàtil
        • Marca
          Model
          Pantalla

          Altres
          Preu
          August
          DTV705
          7"

          HDMI out
          69¤
          DTV905
          9"



          DA100C
          10"
          800x480


          Energy Sistem
          TV-2070
          7"



          TV-2090
          9"



          TV3190
          9"



          Odys
          MPTV350
          3.5"
          320x240

          59¤
          Multi TV700-Move
          7"
          800x480


          MoveOn X830002
          10.1"
          1024x600
          HDMI in
          93¤
          98¤ 98¤

      TV Connectada / Connected TV



      Connected TV platform
      owner:
      ETSI
      W3C

      BBC,...
      Google, Sony, Logitech
      LG Loewe
      Panasonic Philips
      Samsung Sharp Sony
      Toshiba
      Yahoo
      platform:
      HbbTV WebTV (IG)
      xbmc
      Boxee
      YouView Google TV NetCast MediaNet
      Viera Connect Net TV SmartTV AquosNet Bravia widgets (*) NetTV Connected TV
      media
      broadcast
      formats


























      transport

























      broadband
      formats























      • MP4: H.264, AAC
      • WMV9: VC-1, WMA

      transport























      • HTTP progressive download


      technologies

















      type framework language development runtime

















      SDK IDE browser-less / VM browser-based

















      generic additional




























      development:





      LG Developer Lounge
      Viera Connect Developer Centre Philips TV partnership Samsung D Forum
      Challenge
      Samsung TV Apps SDK UX Guideline
      Aquos Net developer program sdk
      applicast toolkit



      applications broadcast
      formats

      MHP/GEM
      Java






























      transport








      MPEG DSM-CC
















      broadband
      formats
      RIA
      MS Silverlight























      Java
      Java


      • Eclipse
      • ...
      application
      applet




      Android SDK
      Dalvik VM











      Adobe Flash
      ActionScript
      Flex

      • Eclipse
      • Adobe Flash Builder
      Adobe AIR
      Flash plug-in (abandonado, abandoning)




      Flash 10.1 (FAQ)
      (templates)
      Chrome 5.0 browser
      (Optimize for TV)
      x



      Adobe AIR



      Adobe AIR


      client-based
      Ajax
      HTML



      -
      x
      CE-HTML



      HTML5 (templates) HTML


      CE-HTML
      HTML 4.01
      XHTML
      1.0
      XML 1.0
      Maple browser 5.1




      CSS



      -
      x
      CSS TV Profile (2.1)



      CSS3



      CSS TV Profile 1.0 CSS1
      CSS2
      CSS TV Profile





      XMLHttpRequest



      -
      x
      Carousel objects



      x



      x
      x





      XML


















      x
      widget engine
      Javascript

      • jQuery
      • Closure?

      -
      x
      OIPF vol5:  DAE
      Examples (*):



      x


      ECMAScript 262
      JavaScript 1.6



      • KONTx
        • Mediaplayer
      • Javascript TV API
      transport








      • HTTP
      • HTTP / TLS

















      maquinari




      • LG

      • Panasonic
      • Philips
      • Samsung
      • Sharp
      • Sony
        (old models)



      tipus
      empresa
      plataforma
      desenvolupament
      Maquinari Continguts




      STB
      TV
      BD player SoC
      PC
      widgets
      app source
      VoD
      catch-up TV
      ràdio
      www











      open
      closed


      open
      closed
      fabricants CE
      LG
      NetCast







      LG Apps TV Seller Lounge





      Panasonic
      Viera Connect














      Philips
      Net TV









      Videoland,
      Video Futur,
      Film2Home,
      VideoLoad
      TV3, A3, ...
      RadioTime,
      iConcerts,
      Napster


      Samsung
      Smart TV






      Samsung Appstore (supp)

      Samsung Movies

      based on Chrome
      (no HTML5)

      Sharp
      AquosNet














      Sony Bravia Internet Video







      Qriocity



      Toshiba
      NetTV














      plataformes
      Adobe
      AIR













      Yahoo
      Connected TV (widgets)


      • LG
      • Samsung
      • Sony
      • Toshiba
      • Vizio











      Google, Intel, Sony, Logitech
      GoogleTV


      Sony TV
      Sony BluRay Logitech Revue


      Market TV




      Spotlight
      (Chrome browser)


      Boxee














      xbmc





      (nettops)




      tvalacarta



      BBC,...
      Youview














      BBC

      • TAL (TV Application Layer)













      Apple
      AppleTV




      AppleTV




      x




      estàndards

      HbbTV















      HTML5
















      http://www.francescpinyol.cat/tvd.html
      Primera versió: / First version: 19.V.2006
      Darrera modificació: 23 d'octubre de 2018 / Last update: 23rd October 2018


      Valid HTML 4.01!

      Cap a casa / Back home.