Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
merge_av
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
胡斌
2017-12-12 16:43:32 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b5d3047da996f68813512e7cf871c202cdd86527
b5d3047d
1 parent
a8c78ed7
process multi audio files
显示空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
26 行增加
和
3 行删除
merge_av/merge_av.cpp
merge_av/merge_av.cpp
查看文件 @
b5d3047
...
...
@@ -339,20 +339,39 @@ int process_files(const char * output_dest_file)
get_duration_from_video_file
();
if
(
filesvideo
.
size
())
{
//has video files
for
(
int
i
=
0
;
i
<
filesaudio
.
size
();
i
++
){
//
fileinfo
audio
=
filesaudio
[
i
];
float
audio_start
=
0
;
float
audio_start
=
audio
.
start_time
;
for
(
int
j
=
i
;
j
<
filesaudio
.
size
();
j
++
){
filesaudio
[
j
].
start_time
-=
audio_start
;
filesaudio
[
j
].
end_time
-=
audio_start
;
}
for
(
int
j
=
nv
;
j
<
filesvideo
.
size
();
j
++
)
{
filesvideo
[
j
].
start_time
-=
audio_start
;
filesvideo
[
j
].
end_time
-=
audio_start
;
}
audio
=
filesaudio
[
i
];
audio_start
=
0
;
for
(;
nv
<
filesvideo
.
size
();
nv
++
)
{
fileinfo
video
=
filesvideo
[
nv
];
if
(
video
.
start_time
-
audio_start
>
0.100
)
{
sprintf
(
destfile
,
"%d_%s"
,
nf
,
audio
.
name
.
c_str
());
if
(
video
.
start_time
>
audio
.
end_time
){
split_audio
(
audio
,
audio_start
,
audio
.
end_time
-
audio_start
,
destfile
);
}
else
{
split_audio
(
audio
,
audio_start
,
video
.
start_time
-
audio_start
,
destfile
);
audio_start
=
video
.
start_time
;
}
tmp_files
.
push_back
(
destfile
);
audio_start
=
video
.
start_time
;
sprintf
(
destfile
,
"%s.jpg"
,
video
.
name
.
c_str
());
get_video_first_frame_jpeg
(
video
,
destfile
);
...
...
@@ -362,6 +381,10 @@ int process_files(const char * output_dest_file)
merge_audio_pic
(
audio
,
nf
,
video
,
destfile
);
merged_files
.
push_back
(
destfile
);
nf
++
;
if
(
video
.
start_time
>
audio
.
end_time
){
//to next audio
break
;
}
}
if
(
nv
!=
filesvideo
.
size
()
-
1
)
{
// not the last one
sprintf
(
destfile
,
"%d_%s"
,
nf
,
audio
.
name
.
c_str
());
...
...
请
注册
或
登录
后发表评论