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 |
| 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.
| 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