转载自:
用ffmpeg创建多个program的ts (出处: ChinaFFmpeg)
http://bbs.chinaffmpeg.com/forum.php?mod=viewthread&tid=322&fromuid=29 谢谢 孙悟空,大圣
首先分析需要创建多个program(节目),然后查看需要导入的流的内容:
ffmpeg -i INPIT1 -i INPUT2 -i INPUT3 .....多少个都可以,我们举个例子,导入两个文件那么就
ffmpeg-i INPUT1 -i INPUT2
[AppleScript]
纯文本查看 复制代码
1
|
ffmpeg
-
i ~
/
Movies
/
objectC
/
facebook.mp
4
-
i ~
/
Movies
/
bbs.chinaffmpeg.com孙悟空.mp
4
|
输出信息如下:
可以看到里面包含了四个流
[AppleScript]
纯文本查看 复制代码
1
2
3
4
|
Stream
#0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480, 797 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Stream
#0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 87 kb/s (default)
Stream
#1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x268, 1038 kb/s, 24 fps, 24 tbr, 90k tbn, 48 tbc (default)
Stream
#1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 148 kb/s (default)
|
使用ffmpeg的-map参数,可以将四个流排列输出
可以看到四路流分别是0:1 0:2 0:3 0:4,那么接下来可以考虑做program了
参考program的说明
[AppleScript]
纯文本查看 复制代码
1
2
|
-
program [
title
=
title
:
][program_num
=
program_num
:
]st
=
stream[
:
st
=
stream...]
(
output
)
Creates a program
with
the
specified
title
,
program_num
and
adds
the
specified stream
(
s
)
to
it
.
|
使用如下参数,可以创建两个program(节目)
[AppleScript]
纯文本查看 复制代码
1
|
ffmpeg
-
i ~
/
Movies
/
objectC
/
facebook.mp
4
-
i ~
/
Movies
/
guanlangaoshou.mp
4
-
map
0
:
0
-
map
0
:
1
-
map
1
:
0
-
map
1
:
1
-
c
copy
-
program
title
=
CCTV
1
:
program_num
=
1
:
st
=
0
:
st
=
1
-
program
title
=
CCTV
2
:
program_num
=
2
:
st
=
2
:
st
=
3
-
y
-
f mpegts bbs.chinaffmpeg.com孙悟空.ts
|
可以看命令行执行后的结果: