1- //! v1.44 · High-level export API · 从 source.json 直接产 MP4。
1+ //! High-level export API · 从 source.json 直接产 MP4。
2+ //!
3+ //! Historical: v1.44 high-level export API.
24//!
35//! 架构(ADR-064):
46//! - 输入:source.json 路径 + 输出 MP4 路径 + 持续时长(秒)
@@ -18,11 +20,13 @@ use crate::pipeline::VideoCodec;
1820use crate :: record_loop:: { self , RecordConfig , RecordError } ;
1921use crate :: OutputStats ;
2022
21- /// v1.44 · nf-runtime 浏览器端 IIFE 产物 · 编译时 inline · 跟 nf-shell preview 同源。
23+ /// nf-runtime 浏览器端 IIFE 产物 · 编译时 inline · 跟 nf-shell preview 同源。
24+ /// Historical: v1.44 runtime IIFE export source.
2225const RUNTIME_IIFE : & str = include_str ! ( "../../nf-runtime/dist/runtime-iife.js" ) ;
2326
24- /// v1.44 · 7 个官方 track 的 JS 源 · 编译时 inline · 喂给 runtime 解析
27+ /// 7 个官方 track 的 JS 源 · 编译时 inline · 喂给 runtime 解析
2528/// `__NF_SOURCE__.tracks[].kind` 定位到对应代码。跟 nf-shell preview 同源。
29+ /// Historical: v1.44 official track source embedding.
2630const TRACK_BG : & str = include_str ! ( "../../nf-tracks/official/bg.js" ) ;
2731const TRACK_SCENE : & str = include_str ! ( "../../nf-tracks/official/scene.js" ) ;
2832const TRACK_VIDEO : & str = include_str ! ( "../../nf-tracks/official/video.js" ) ;
@@ -76,11 +80,13 @@ pub struct ExportOpts {
7680 pub fps : u32 ,
7781 /// VideoToolbox 目标比特率(bps)· 默认 20Mbps。
7882 pub bitrate_bps : u32 ,
79- /// v1.44.1 / v1.56 · 并行切片 N(ADR-061) · `None` = 按分辨率取默认
83+ /// 并行切片 N(ADR-061) · `None` = 按分辨率取默认
8084 /// (1080p=1 / 4k=4) · `Some(1)` 可显式强制串行。
8185 /// duration < 6s 时 orchestrator 自动降级单进程(segment boot 开销吃掉收益)。
86+ /// Historical: v1.44.1 / v1.56 parallel slicing.
8287 pub parallel : Option < usize > ,
83- /// v1.55 · CLI `--resolution` 覆盖 `source.json meta.export.resolution`。
88+ /// CLI `--resolution` 覆盖 `source.json meta.export.resolution`。
89+ /// Historical: v1.55 resolution override.
8490 pub resolution_override : Option < ExportResolution > ,
8591}
8692
@@ -149,7 +155,9 @@ struct ResolvedExportPreset {
149155 codec : VideoCodec ,
150156}
151157
152- /// v1.44 · 高层 lib API · 输入 source.json 路径 · 输出 MP4。
158+ /// 高层 lib API · 输入 source.json 路径 · 输出 MP4。
159+ ///
160+ /// Historical: v1.44 high-level lib export API.
153161///
154162/// 主调方(nf-shell):
155163/// ```ignore
@@ -237,7 +245,7 @@ pub async fn run_export_from_source(
237245 preset. viewport . 1 ,
238246 ) ?;
239247
240- // v1.44.1 / v1.56 · parallel >= 2 走 orchestrator (spawn N 子进程 +
248+ // Historical: v1.44.1 / v1.56 parallel >= 2 走 orchestrator (spawn N 子进程 +
241249 // ffmpeg concat) · 4k 未显式指定时默认 parallel=4。
242250 // 短视频(<6s) orchestrator 内部自动降级单进程 · duration 够长走真并行。
243251 // 单进程路径用 record_loop::run 拿 OutputStats · 并行路径 orchestrator 返 ()
@@ -382,7 +390,7 @@ window.__NF_TRACKS__ = {tracks_map_json};
382390 var REQUESTED_DURATION_MS = {requested_duration_ms};
383391 window.__nf = window.__nf || {{}};
384392 window.__nf_handle = handle;
385- // recorder 合约 (v1.14 FrameReadyContract):
393+ // Historical: recorder 合约 (v1.14 FrameReadyContract):
386394 // - seek(t_ms) 返 {{t, frameReady:true, seq}} · t 在 0.01ms 容差内等于 t_ms · seq 单调递增
387395 // - 外部 t 纯驱动 (ADR-045) · 不依赖 RAF
388396 var _seq = 0;
0 commit comments