正在显示
3 个修改的文件
包含
15 行增加
和
6 行删除
| @@ -168,6 +168,7 @@ double CAVTranscoder::transcode() | @@ -168,6 +168,7 @@ double CAVTranscoder::transcode() | ||
| 168 | } | 168 | } |
| 169 | 169 | ||
| 170 | _all_processed = decoders_got_frame.size() == 0; | 170 | _all_processed = decoders_got_frame.size() == 0; |
| 171 | + | ||
| 171 | mix_and_output_vframe(decoders_got_frame); | 172 | mix_and_output_vframe(decoders_got_frame); |
| 172 | 173 | ||
| 173 | _cur_v_time += g_vframe_duration; | 174 | _cur_v_time += g_vframe_duration; |
| @@ -78,13 +78,16 @@ V2.0.5 | @@ -78,13 +78,16 @@ V2.0.5 | ||
| 78 | 78 | ||
| 79 | V2.0.6 | 79 | V2.0.6 |
| 80 | 1. 命令行添加-s可选参数,在一对一布局下起作用。缺省为1 | 80 | 1. 命令行添加-s可选参数,在一对一布局下起作用。缺省为1 |
| 81 | - 1 如果老师和学生的视频大小不一致,会放大较小的视频使得老师和学生视频大小相同。 | 81 | + 1 如果老师和学生的视频大小不一致,会放大较小的视频使得老师和学生视频大小相同 |
| 82 | 0 保持原有视频大小 | 82 | 0 保持原有视频大小 |
| 83 | 83 | ||
| 84 | V2.0.7 | 84 | V2.0.7 |
| 85 | -1.修改bug: 在V2.0.4开放了设置视频编码参数,由于修改不完整,其中fps设置如果不是默认的参数20,会导致音视频不同步。 | 85 | +1.修改bug: 在V2.0.4开放了设置视频编码参数,由于修改不完整,其中fps设置如果不是默认的参数20,会导致音视频不同步 |
| 86 | 2.修改在一对一布局下,有一个视频是竖屏时,对竖屏的缩放处理不正常 | 86 | 2.修改在一对一布局下,有一个视频是竖屏时,对竖屏的缩放处理不正常 |
| 87 | 87 | ||
| 88 | V2.0.8 | 88 | V2.0.8 |
| 89 | 1.修改在一对一布局下,有学生或老师视频需要缩放时,如果学生或老师有多个段,会出现程序异常 | 89 | 1.修改在一对一布局下,有学生或老师视频需要缩放时,如果学生或老师有多个段,会出现程序异常 |
| 90 | -2.修改在一对一布局下,不需要缩放时,学生视频如果宽度小于输出视频宽度,输出视频有部分背景花屏 | ||
| 90 | +2.修改在一对一布局下,不需要缩放时,学生视频如果宽度小于输出视频宽度,输出视频有部分背景花屏 | ||
| 91 | + | ||
| 92 | +V2.0.9 | ||
| 93 | +1.忽略录像信息文件里在视频文件关闭后设置视频旋转角度的情况,避免视频旋转角度错误 |
| @@ -173,14 +173,19 @@ void addinfo(const char * name, const char * rotation){ | @@ -173,14 +173,19 @@ void addinfo(const char * name, const char * rotation){ | ||
| 173 | int i = 0; | 173 | int i = 0; |
| 174 | for (; i < media_files.size(); i++) { | 174 | for (; i < media_files.size(); i++) { |
| 175 | if (media_files[i].name == name) { | 175 | if (media_files[i].name == name) { |
| 176 | - media_files[i].rotate = atoi(rotation); | 176 | + if (media_files[i].end_time > media_files[i].start_time) { |
| 177 | + printf("\n%s: set rotate after media file is closed,ignore!", name); | ||
| 178 | + } | ||
| 179 | + else { | ||
| 180 | + media_files[i].rotate = atoi(rotation); | ||
| 181 | + } | ||
| 177 | break; | 182 | break; |
| 178 | } | 183 | } |
| 179 | } | 184 | } |
| 180 | 185 | ||
| 181 | if (i == media_files.size()) | 186 | if (i == media_files.size()) |
| 182 | { | 187 | { |
| 183 | - printf("\nerror ,file : %s info but not found!", name); | 188 | + printf("\nerror ,file : %s set rotate but not found!", name); |
| 184 | } | 189 | } |
| 185 | } | 190 | } |
| 186 | 191 | ||
| @@ -1211,7 +1216,7 @@ int process_av_files(char * record_info, int piptype, bool one2one_same_size, in | @@ -1211,7 +1216,7 @@ int process_av_files(char * record_info, int piptype, bool one2one_same_size, in | ||
| 1211 | int main(int argc, char * argv[]) | 1216 | int main(int argc, char * argv[]) |
| 1212 | { | 1217 | { |
| 1213 | if (argc < 2) { | 1218 | if (argc < 2) { |
| 1214 | - printf(" merge_pip 2.0.8\n"); | 1219 | + printf(" merge_pip 2.0.9\n"); |
| 1215 | printf(" merge video files to one pip video according to record info file,\nusage:"); | 1220 | printf(" merge video files to one pip video according to record info file,\nusage:"); |
| 1216 | printf("\n %s record_info_filename [-t {0,1,2}] [-c codec.cfg] [-s {1,0}]", argv[0]); | 1221 | printf("\n %s record_info_filename [-t {0,1,2}] [-c codec.cfg] [-s {1,0}]", argv[0]); |
| 1217 | printf("\n\n"); | 1222 | printf("\n\n"); |
-
请 注册 或 登录 后发表评论