{“content”:”---\nname: remotion-pc-render-workflow\ndescription: Transfer Remotion project from Termux to Windows PC and render video via SSH\n---\n\n# Remotion PC Render Workflow\n\n## 项目位置\n- PC 项目根目录: D:\\remotion-hsd\\\n- 渲染输出: D:\\remotion-hsd\\out\\\n- 图片位置: src/xh/img1.jpeg, img2.jpeg, img3.jpeg(用 require() 导入,bundled)\n\n## 文件传输 (Termux → PC)\n\n方法 A: 直接 SCP 上传(推荐,用于小文件/单文件)\nbash\n# 1. 通过 SCP 上传 TSX 文件(中文无损坏)\nscp /path/to/file.tsx 'sozo@100.83.112.84:C:\\Users\\sozo\\AppData\\Local\\Temp\\remotion-hsd\\src\\xh\\file.tsx'\n\n# 2. 图片文件(binary)也直接 SCP\nscp img1.jpeg 'sozo@100.83.112.84:C:\\Users\\sozo\\AppData\\Local\\Temp\\remotion-hsd\\src\\xh\\img1.jpeg'\n\n\n方法 B: 写文件到本地再 SCP(复杂多行文件)\n1. 在 Termux 写好文件到 /data/data/com.termux/files/home/tmp/\n2. SCP 上传: scp /tmp/Xiaohongshu.tsx sozo@100.83.112.84:'C:\\Users\\sozo\\AppData\\Local\\Temp\\remotion-hsd\\src\\xh\\Xiaohongshu.tsx'\n\n## PC 渲染命令\nbash\nssh sozo@100.83.112.84 \"cd D:\\remotion-hsd && npm run render-xh\"\n\n输出: D:\\remotion-hsd\\out\\xh.mp4\n\n## 渲染状态监控\nbash\n# 用 notify_on_complete=true 等待完成通知\n# 或手动检查进度:\nssh sozo@100.83.112.84 'cmd /c type D:\\remotion-hsd\\out\\render_log.txt 2>nul || echo \"checking...\"'\n\n\n## 图片处理方案(关键!)\n\n问题根源: Remotion 渲染时通过内部 server localhost:3000 访问 public/ 目录。\nPC headless Chrome 渲染时这个路径会 404,即使 public/xh/1.jpeg 文件存在。\n用 publicPathsetPublicFolder 都无法解决,因为是 Remotion 4.x 架构问题。\n\n解决方案: 用 require() 把图片打入 bundle,完全不依赖外部文件访问。\n\ntsx\n// Xiaohongshu.tsx 顶部:\nconst PROJECT_IMG = [\n require(\"./img1.jpeg\"), // 放在 src/xh/ 下\n require(\"./img2.jpeg\"),\n require(\"./img3.jpeg\"),\n];\n\n// 使用时用 <img> 而非 <Img> 组件:\n<img src={PROJECT_IMG[index]} style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />\n\n// ⚠️ 不要用 <Img src=\"/xh/...\"> — 渲染时必定 404\n\n\n图片复制到 src/xh/:\nbash\nssh sozo@100.83.112.84 'cmd /c copy \"C:\\Users\\sozo\\AppData\\Local\\Temp\\hsd_images\\page3_img6.jpeg\" \"D:\\remotion-hsd\\src\\xh\\img1.jpeg\" /Y'\n\n\n## 常用开发命令\nbash\n# Bundle(修改代码后需要重新 bundle)\nssh sozo@100.83.112.84 \"cd D:\\remotion-hsd && npx remotion bundle src/Root.tsx\"\n\n# 渲染\nssh sozo@100.83.112.84 \"cd D:\\remotion-hsd && npm run render-xh\"\n\n# 检查输出\nssh sozo@100.83.112.84 'cmd /c dir D:\\remotion-hsd\\out /b'\n\n\n## 已知问题与修复\n1. Img 404: 改用 require() + <img> 标签\n2. 中文乱码: SCP 直接上传 UTF-8 文件,不用 base64\n3. PowerShell Get-Content 报错: 用 cmd /c type FILE_PATH\n4. node_modules 必须在 PC 上 npm install,不能从 Termux 复制\n5. SSH heredoc 失败: 用 .bat/.ps1 文件或 SCP 上传\n\n## 从 C: 迁移到 D: 的操作记录(2026-04-23)\nbash\n# 复制整个项目到 D:\nxcopy /E /I /Y C:\\Users\\sozo\\AppData\\Local\\Temp\\remotion-hsd D:\\remotion-hsd\n# 删除 C: 旧目录\nrmdir /s /q C:\\Users\\sozo\\AppData\\Local\\Temp\\remotion-hsd\n\n”}