Skip to content

Fire TV Stick 4K DV All Subtitle Convert Audio Conform Profile

Generated from stock preset pack fire-tv-stick-4k-dv-all-sub-convert-audio-conform.

Dependencies

Tool Needed Why
ffmpeg required scenario execution, encode/transcode, and mux packaging
ffprobe required criteria probing and stream/metadata inspection
dovi_tool conditional required for Dolby Vision retention and profile 7 to 8.1 conversion paths

E2E Verification

This profile is considered e2e-verified when its mapped suites pass in CI.

Suite What it proves Toolchain version report
tests/e2e/run_profile_actions_e2e.sh action-level output behavior, guardrails, and subtitle-intent pathways tests/e2e/.reports/latest/run_profile_actions_e2e_toolchain_versions.md

Input Envelope

Field Value
Codec any
Bit depth any
Color space any
Min resolution 1921x1081
Max resolution 3840x2160

Scenario Map

Scenario Command
RES_JUST_RIGHT transcode_hevc_4k_dv_all_sub_convert_audio_conform_profile.sh
ELSE profile_guardrail_skip.sh (profile guardrail skip)

Runtime Behavior

  • Scenario RES_JUST_RIGHT uses action script transcode_hevc_4k_dv_all_sub_convert_audio_conform_profile.sh.
  • Scenario ELSE uses action script profile_guardrail_skip.sh.

Action summary from transcode_hevc_4k_dv_all_sub_convert_audio_conform_profile.sh:

  • Attempts Dolby Vision metadata retention when possible, otherwise falls back to HDR10-compatible HEVC output.
  • Default subtitle behavior is all_sub_preserve + subtitle_convert.
  • Text subtitles are normalized into mov_text when MP4 remains viable.
  • Bitmap subtitles fall back to MKV preservation by default.
  • Preserves AAC and Dolby-family audio streams by default.
  • Conforms DTS-family and PCM-family audio when needed.
  • Preserved non-MP4-safe audio forces MKV output.
  • Quality mode is currently kept at standard for this DV-focused lane.

Starting Inputs And Expected Outputs

Aspect What this profile expects / does
Starting containers mkv, mp4, mov, mxf (anything ffmpeg can demux)
Required codec envelope any / any-bit / any
Required resolution range 1921x1081 to 3840x2160
If criteria do not match candidate is routed to another profile or skipped
If criteria match scenario order is evaluated and first match executes
Output intent profile-specific output written by selected scenario command

Flow

flowchart LR classDef gate fill:#fff7ed,stroke:#f59e0b,color:#7c2d12,stroke-width:1.5px; classDef stage fill:#e0f2fe,stroke:#0284c7,color:#0c4a6e,stroke-width:1.2px; classDef output fill:#dcfce7,stroke:#16a34a,color:#14532d,stroke-width:1.2px; classDef skip fill:#f3f4f6,stroke:#6b7280,color:#1f2937,stroke-width:1.2px; A[Input candidate: mkv / mp4 / mov / mxf]:::stage --> B[Probe codec bits color resolution]:::stage B --> C{Matches profile criteria envelope?}:::gate C -->|No| Z[Handled by other profile or skipped]:::skip C -->|Yes| D{Evaluate scenarios in order}:::gate D --> E[First match: RES_JUST_RIGHT]:::stage E --> F[Execute: transcode_hevc_4k_dv_all_sub_convert_audio_conform_profile.sh]:::stage F --> G[Write profile output artifact]:::output

Source

  • Preset file: services/vfo/presets/fire-tv-stick-4k-dv-all-sub-convert-audio-conform/vfo_config.preset.conf
  • Generated by: infra/scripts/generate-profile-docs.sh