首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态块级联

动态块级联
EN

Stack Overflow用户
提问于 2015-08-27 22:20:30
回答 2查看 1.5K关注 0票数 2

用于concat的ffmpeg文档列出了以下方法

ffmpeg -f concat -i mylist.txt -c copy output

mylist.txt文件包含的文件如下

代码语言:javascript
复制
 file '/path/to/file1'
代码语言:javascript
复制
 file '/path/to/file2'
代码语言:javascript
复制
 file '/path/to/file3'  

我所要寻找的是一种持久的方式来实现这种连接,在这种情况下,文件的数量可以不断增加,例如,在livestreaming中。

我将向我的服务器发送10秒的视频(mp4文件),并希望将它们连接在一起,输出到RTMP流(用于livestreaming)。

如果这不是正确的方法,请提出替代方案。

非常想知道人们是如何使用上面的概念(我希望它是如何工作的)从移动设备上发送视频块进行直播的。

EN

回答 2

Stack Overflow用户

发布于 2017-12-22 19:11:19

ffmpeg文档中有一个完全按照您的要求执行的示例:https://trac.ffmpeg.org/wiki/Concatenate

这就是他们的例子:

代码语言:javascript
复制
#!/bin/bash

fn_concat_init() {
    echo "fn_concat_init"
    concat_pls=`mktemp -u -p . concat.XXXXXXXXXX.txt`
    concat_pls="${concat_pls#./}"
    echo "concat_pls=${concat_pls:?}"
    mkfifo "${concat_pls:?}"
    echo
}

fn_concat_feed() {
    echo "fn_concat_feed ${1:?}"
    {
        >&2 echo "removing ${concat_pls:?}"
        rm "${concat_pls:?}"
        concat_pls=
        >&2 fn_concat_init
        echo 'ffconcat version 1.0'
        echo "file '${1:?}'"
        echo "file '${concat_pls:?}'"
    } >"${concat_pls:?}"
    echo
}

fn_concat_end() {
    echo "fn_concat_end"
    {
        >&2 echo "removing ${concat_pls:?}"
        rm "${concat_pls:?}"
        # not writing header.
    } >"${concat_pls:?}"
    echo
}

fn_concat_init

echo "launching ffmpeg ... all.mkv"
timeout 60s ffmpeg -y -re -loglevel warning -i "${concat_pls:?}" -pix_fmt yuv422p all.mkv &

ffplaypid=$!

echo "generating some test data..."
i=0; for c in red yellow green blue; do
    ffmpeg -loglevel warning -y -f lavfi -i testsrc=s=720x576:r=12:d=4 -pix_fmt yuv422p -vf "drawbox=w=50:h=w:t=w:c=${c:?}" test$i.mkv
    fn_concat_feed test$i.mkv
    ((i++));
    echo
done
echo "done"

fn_concat_end

wait "${ffplaypid:?}"

echo "done encoding all.mkv"
票数 0
EN

Stack Overflow用户

发布于 2015-10-28 17:05:10

我尝试用下面的命令连接几个webm文件,它可以工作(在我的例子中)

代码语言:javascript
复制
ffmpeg -i chunk.1.webm -i chunk.2.webm -i chunk.3.webm -i chunk.4.webm -filter_complex "[0:0] [1:0] [2:0] [3:0] concat=n=4:v=1:a=0 [v]" -map "[v]" filter.webm -y

Using ffmpeg to combine small mp4 chunks?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32260368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档