You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式停止FFmpeg进程,替代Ctrl+C且保证视频正常?

TikTok直播流下载后视频无法正常播放问题

我使用ShellJS执行FFmpeg命令下载TikTok直播流,代码如下:

const shell = require("shelljs");

const processShell = shell.exec(
  `ffmpeg -i "https://pull-hls-f16-va01.tiktokcdn.com/game/stream-2998228870023348312_or4/index.m3u8?expire=1728629296&session_id=000-2024092706481532076B1319E1100113F8&sign=1016b521d08053bc0ae8eddb0881b029" -movflags use_metadata_tags -map_metadata 0 -metadata title="Chill chill kiếm kèo Warthunder" -metadata artist="bacgaucam" -metadata year="2024" -c copy "downloads/bacgaucam-927202491939.mp4" -n -stats -hide_banner -loglevel error`,
  { async: true }
);

setTimeout(() => {
  // processShell.kill();
  process.exit();
}, 20000);

目前只有通过Ctrl+C手动停止进程时,生成的视频才能正常播放。我已经尝试过以下方法终止进程,但均无效:

  • process.exit()
  • .kill(pid, "SIGINT")
  • ShellJS的kill方法
  • fluent-ffmpeg的kill方法
  • child_process的spawn相关方法

需要测试的话,可联系我获取有效直播URL,或克隆指定仓库。恳请提供技术帮助,谢谢!

内容的提问来源于stack exchange,提问作者bee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:04:52