0

我有 2 个文件 test.mp4 和 test2.mp4 我想同时播放,中间没有明显的中断。目前我正在使用

mkfifo test
cat test.mp4 > test &
cat test2.mp4 > test &
omxplayer test

但是,当我这样做时,omxplayer 只返回数据而不播放文件。但是如果我只是将一个文件放入管道,omxplayer 会正常显示它。我也试过在 ffmpeg 中使用 copy 命令,它也只是返回数据,不播放文件。

我知道我可以将 2 个文件连接在一起,但这不适用于我的目的,因为我需要能够在 omxplayer 运行时将文件提供给管道

4

1 回答 1

0

您正在后台运行两只猫,这意味着数据将以随机方式交错,omxplayer 不太可能理解它。

你的脚本应该是:

mkfifo test
cat test.mp4 test2.mp4 > test &
omxplayer test

但是,即使这样也不能满足您的需求,因为一旦cat完成,omxplayer 就会认为输入结束并停止。

你需要这样的东西:

sendvideo() {
  #
  # Code to select file to send
  #
  cat test.mp4
  #
  # Code to select file to send
  #
  cat test2.mp4
  #
  # Loop to select files
  #
  while [ some condition ]; do
    cat somefile
  done
}
# Starts here
mkfifo test
sendvideo > test &
omxplayer test
于 2017-01-19T10:39:44.193 回答