Adobe Flash RTMP Task Configuration

Table of contents

  1. FAQ
  2. Supported features
  3. Task creation
  4. Minimal configuration
    1. Source settings
    2. Video/Audio encoding settings (TS/SDI input modes only)
    3. Flash RTMP publication settings
  5. Akamai publication
  6. Limelight publication
  7. Level3 publication
  8. Edgecast publication
  9. Publication to FMS for HDS delivery
  10. Subtitling
    1. DVB Teletext burnin
    2. DVB Subtitles burnin
    3. Closed caption EIA-608/708 passthrough
    4. Closed caption EIA-608 burnin
    5. Closed Caption EIA-608 to AMF
    6. Closed Caption EIA-608 to YouTube Live Closed Captions
  11. Ad insertion (MPEG-TS input mode only)
  12. Advanced features
    1. Timecode generation
  13. Troubleshooting
  1. FAQ

  2. Supported features

    Video codecs Audio codecs Subtitles Ad insertion
    H.264 AAC-LC (ADTS)
    HE-AAC v1/v2
    Closed caption EIA-608 to AMF onTextData
    Closed caption EIA-608 to YouTube Live Closed Captions
    SCTE35 to AMF cue messages
  3. Task creation

    1. Click on "Live Tasks" button, select "Tasks Map" in the list and click on "New" button.

    2. Give a name to the task.

    3. Select the task. In "Output" panel, set "Output mode" to "Flash (RTMP)".
  4. Minimal configuration

    1. Source settings

    2. Video/Audio encoding settings (TS/SDI input modes only)

      • Video encoding and preprocessing settings

        In "Video" > "Video Profiles" panel:
        • Set codec to H.264.
        • Enable desired number of video profiles.
        • Set resolution, framerate and bitrate.
        • Set "Rate control mode" to "ABR".
        • Set "Frame/Field mode" to "Frame Only".
        • If source is interlaced, enable "De-interlacing input" for all video profiles.
      • Audio encoding settings

        In "Audio" panel:
        • Set audio codec to "AAC-LC ADTS"
        • Set desired sampling rate and bitrate
    3. Flash RTMP publication settings

      • In "Output" > "Publishing" panel, configure stream name.

        If channel is configured with several video profiles, usage of magic variables is mandatory to get an unique stream name.
        • ${videoId} : Video profile number
        • ${audioId} : Audio track number
        • ${textId} : Subtitles track number
        • ${bitrate} : Sum of video and audio bitrates
        • ${combinationId} : "Video-Audio-Text combination" number
        • ${customName} : User configurable video profile custom name available in "Video" > "Video profiles" panel.

        If channel is configured with several audio tracks having same audio bitrate, ${bitrate} variable can't be used to avoid stream name collision.

      • In "Output" > "Publishing" panel, configure server URL
      • In "Output" > "Publishing" panel, configure Authentication method

      • In "Adobe Flash Output" panel, configure Video/Audio/Text combination

        "Video/Audio/Text combination" allows to specify video/audio/text profile's assocation. It can be a semicolon separated list of audio/video/text profiles (V1A1.1T1;V2A1.1T1;V3A2.1T1;V4A2.1T1) or "all" keyword.
        • Video index

          "Video index" (Vx) is the video profile index in "Video" panel
        • Audio index

          "Audio index" (Ax.y) is the combination of:
          • x: Audio input track index in "Input PIDs" (TS input) or "Tracks Selection" (SDI input)
          • y: Audio encoding profile index in "Audio" panel
        • Text index

          "Text index" (Tx) is the text profile index in "Output" > "Packaging" > "Multiplexing" panel

        If stream name is set to stream_${videoId}_${audioId} and Video-Audio-Text Combination is V1A1.1;V2A1.1;V3A1.2, RTMP streams names will be :
        • stream_V1_A1.1
        • stream_V2_A1.1
        • stream_V3_A1.2

        Usage of ${combinationId} can be used to simplify stream naming.
        If stream name is set to stream_${combinationId} and Video-Audio-Text Combination is V1A1.1;V2A1.1;V3A1.2, RTMP streams names will be :
        • stream_1
        • stream_2
        • stream_3
  5. Akamai publication

    COMPANY_NAME RTMP output is interoperable with Akamai CDN.

    In "Output" > "Publishing" panel:
  6. Limelight publication

    COMPANY_NAME RTMP output is interoperable with Limelight CDN.

    In "Output" > "Publishing" panel:
  7. Level3 publication

    COMPANY_NAME RTMP output is interoperable with Level3 CDN.

    In "Output" > "Publishing" panel:
  8. EdgeCast publication

    COMPANY_NAME RTMP output is interoperable with Edgecast CDN.
    1. Video encoding settings

      • Configure H.264 Profile/Level to Baseline Level 3.0, Baseline Level 3.1 or Main Level 3.1
      • Set GOP size to 2000ms
      • Enable "Frame Only" and "Key-Frame Alignement" for each video profile
      • Enable "De-interlace" for each video profile
    2. Audio encoding settings

      • Configure audio codec to AAC-LC or HE-AAC up to 48 kHz, Stereo
    3. RTMP publication settings

      • RTMP delivery

        • In "Output" > "Publishing" panel, set URL to rtmp://xxx.ams.xxxx.edgecastcdn.net/20xxxx/Path
        • In "Output" > "Publishing" panel, set Stream Name to stream_${bitrate}?global_key (where global_key is Live Authentication Key provided by EdgeCast)
        • In "Output" > "Publishing" panel, set Authentication to No authentication
      • HDS/HLS delivery

        • In "Output" > "Publishing" panel, set URL to rtmp://xxx.ams.xxxx.edgecastcdn.net/20xxxx/Path
        • In "Output" > "Publishing" panel, set Stream Name to stream${bitrate}?global_key&adbe-live-event=event_name (where global_key is Live Authentication Key and event_name is Event Name provided by EdgeCast)
        • In "Output" > "Publishing" panel, set Authentication to No authentication
    4. Edge Cast CDN configuration

      Follow documentation provided by EdgeCast.
    5. Playback

      • RTMP playback

        • Download JWPlayer
        • Add following Javascript code to JWPlayer HTML page:
          <div id="myElement"></div>
          
          <script>
              jwplayer("myElement").setup({
                file: "rtmp://fml.xxxx.edgecastcdn.net/20xxxx/path/streamName",
                image: "/upload/myPoster.jpg",
                rtmp: {
                  subscribe: true
                }
              });
          </script>
          
      • HDS/HLS playback

        • If 3 video profiles are configured (300kbps, 500kbps, 1000kbps)
        • If audio bitrate is 64kbps
        • If RTMP stream name is stream${bitrate}?global_key&adbe-live-event=event_name
        • If publication URL is rtmp://xxx.ams.xxxx.edgecastcdn.net/20xxxx/default

        f4m root Manifest URL : http://wpc.xxxx.edgecastcdn.net/hds-live/20xxxx/default/event_name/stream,364,564,1064,.f4m
        m3u8 root Playlist URL : http://wpc.xxxx.edgecastcdn.net/hls-live/20xxxx/default/event_name/stream,364,564,1064,.m3u8

        f4m Manifest can be played with Strobe Player

  9. Publication to FMS for HDS delivery

    Adobe provides a document to configure HDS output on FMS.
    Stream live media (HTTP)

  10. Subtitling

    1. DVB Teletext burnin (encoder/transcoder products only)

      See DVB-Teletext burnin.
    2. DVB Subtitles burnin (encoder/transcoder products only)

      See DVB Subtitle burnin.
    3. Closed caption EIA-608/708 passthrough

      See Closed caption EIA-608/708 passthrough.
    4. Closed Caption EIA-608 burnin (encoder/transcoder products only)

      See Closed Caption EIA-608 burnin.
    5. Closed Caption EIA-608 to AMF

      See Closed Caption EIA-608 to AMF.
    6. Closed Caption EIA-608 to YouTube Live Closed Captions

      See Closed Caption EIA-608 to YouTube Live Closed Captions.
  11. Ad insertion (MPEG-TS input mode only)

  12. Advanced features

    1. Timecode generation

      COMPANY_NAME equipment can be configured to embed the system time as AMF data tags. The system date is embedded in the tag in the format dd-mm-yyyy (day-month-year). The system time is embedded in the tag in the format hh:mm:ss:ms (hour:minute:second:millisecond). The hour is in 24-hour clock format. Frame interval at which timecode is embedded into the video stream is user configurable.

      From "Output" > "Packaging" panel, configure "Frame interval".

      When "Frame interval" is set to 0, timecode data is not generated.

  13. Troubleshooting