胡斌

V2.0.9

1.忽略录像信息文件里在视频文件关闭后设置视频旋转角度的情况,避免视频旋转角度错误
@@ -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");