#include
#include
#include
extern "C" {
#include "libavutil/imgutils.h"
#include "libavutil/samplefmt.h"
#include "libavformat/avformat.h"
}
#pragma warning(disable: 4996)
#define errReport(info, val) do{ \
fprintf(stderr, "ERR(func=%s,line=%d): %s code=%d\n",__FUNCTION__, __LINE__, info, val);\
getch();\
exit(0);\
}while (0);
typedef struct {
const char *src_filename;
const char *video_dst_filename;
const char *audio_dst_filename;
int refcount;
FILE *video_dst_file;
FILE *audio_dst_file;
} IOFileName;
typedef struct {
AVFormatContext *fmt_ctx;
AVCodecContext *video_dec_ctx, *audio_dec_ctx;
AVStream *video_stream, *audio_stream;
AVFrame *frame;
AVPacket pkt;
int video_stream_idx, audio_stream_idx;
int width, height;
uint8_t *video_dst_data[4];
int video_dst_linesize[4];
int video_dst_bufsize;
enum AVPixelFormat pix_fmt;
} DemuxingVideoAudioContex;
int decode_packet(IOFileName &files, DemuxingVideoAudioContex &va_ctx, int *got_frame, int cached) {
int ret = 0, decoded = va_ctx.pkt.size;
static int video_frame_count = 0;
static int audio_frame_count = 0;
*got_frame = 0;
if (va_ctx.pkt.stream_index == va_ctx.video_stream_idx) {
ret = avcodec_decode_video2(va_ctx.video_dec_ctx, va_ctx.frame, got_frame, &va_ctx.pkt);
if (ret < 0) return -1;
if (*got_frame) {
if (va_ctx.frame->width != va_ctx.width ||
va_ctx.frame->height != va_ctx.height ||
va_ctx.frame->format != va_ctx.pix_fmt)
return -2;
if (video_frame_count % 1 == 0) printf("\n");
printf("[v]%s c:%d n:%d ", cached ? "(cached)" : "", video_frame_count++, va_ctx.frame->coded_picture_number);
av_image_copy(va_ctx.video_dst_data, va_ctx.video_dst_linesize,
(const uint8_t **)(va_ctx.frame->data), va_ctx.frame->linesize,
va_ctx.pix_fmt, va_ctx.width, va_ctx.height);
fwrite(va_ctx.video_dst_data[0], 1, va_ctx.video_dst_bufsize, files.video_dst_file);
}
}
else if (va_ctx.pkt.stream_index == va_ctx.audio_stream_idx) {
ret = avcodec_decode_audio4(va_ctx.audio_dec_ctx, va_ctx.frame, got_frame, &va_ctx.pkt);
if (ret < 0) return -3;
decoded = FFMIN(ret, va_ctx.pkt.size);
if (*got_frame) {
size_t unpadded_linesize = va_ctx.frame->nb_samples * av_get_bytes_per_sample((AVSampleFormat)va_ctx.frame->format);
printf("[a]%s c:%d s:%d ", cached ? "(cached)" : "",
audio_frame_count++, va_ctx.frame->nb_samples);
fwrite(va_ctx.frame->extended_data[0], 1, unpadded_linesize, files.audio_dst_file);
}
}
if (*got_frame && files.refcount)
av_frame_unref(va_ctx.frame);
return decoded;
}
int open_codec_context(IOFileName &files, DemuxingVideoAudioContex &va_ctx, enum AVMediaType type) {
int ret, stream_index;
AVStream *st;
AVCodecContext *dec_ctx = NULL;
AVCodec *dec = NULL;
AVDictionary *opts = NULL;
ret = av_find_best_stream(va_ctx.fmt_ctx, type, -1, -1, NULL, 0);
if (ret < 0) return -1;
stream_index = ret;
st = va_ctx.fmt_ctx->streams[stream_index];
dec_ctx = st->codec;
dec = avcodec_find_decoder(dec_ctx->codec_id);
if (!dec) return -2;
av_dict_set(&opts, "refcounted_frames", files.refcount ? "1" : "0", 0);
if ((ret = avcodec_open2(dec_ctx, dec, &opts)) < 0) return -3;
switch (type) {
case AVMEDIA_TYPE_VIDEO:
va_ctx.video_stream_idx = stream_index;
va_ctx.video_stream = va_ctx.fmt_ctx->streams[stream_index];
va_ctx.video_dec_ctx = va_ctx.video_stream->codec;
break;
case AVMEDIA_TYPE_AUDIO:
va_ctx.audio_stream_idx = stream_index;
va_ctx.audio_stream = va_ctx.fmt_ctx->streams[stream_index];
va_ctx.audio_dec_ctx = va_ctx.audio_stream->codec;
break;
default:
return -4;
}
return 0;
}
int init_demux_context(IOFileName &files, DemuxingVideoAudioContex &va_ctx) {
int ret = 0;
av_register_all();
if (avformat_open_input(&(va_ctx.fmt_ctx), files.src_filename, NULL, NULL) < 0)
return -1;
if (avformat_find_stream_info(va_ctx.fmt_ctx, NULL) < 0)
return -2;
if (open_codec_context(files, va_ctx, AVMEDIA_TYPE_VIDEO) < 0)
return -3;
files.video_dst_file = fopen(files.video_dst_filename, "wb");
if (!files.video_dst_file) return -4;
va_ctx.width = va_ctx.video_dec_ctx->width;
va_ctx.height = va_ctx.video_dec_ctx->height;
va_ctx.pix_fmt = va_ctx.video_dec_ctx->pix_fmt;
ret = av_image_alloc(va_ctx.video_dst_data, va_ctx.video_dst_linesize, va_ctx.width, va_ctx.height, va_ctx.pix_fmt, 1);
if (ret < 0) return -5;
va_ctx.video_dst_bufsize = ret;
if (open_codec_context(files, va_ctx, AVMEDIA_TYPE_AUDIO) < 0)
return -6;
files.audio_dst_file = fopen(files.audio_dst_filename, "wb");
if (!files.audio_dst_file) return -7;
av_dump_format(va_ctx.fmt_ctx, 0, files.src_filename, 0);
if (!va_ctx.audio_stream && !va_ctx.video_stream)
return -8;
return 0;
}
void close_demux_context(IOFileName &files, DemuxingVideoAudioContex &va_ctx) {
avcodec_close(va_ctx.video_dec_ctx);
avcodec_close(va_ctx.audio_dec_ctx);
avformat_close_input(&(va_ctx.fmt_ctx));
av_frame_free(&va_ctx.frame);
av_free(va_ctx.video_dst_data[0]);
if (files.video_dst_file) fclose(files.video_dst_file);
if (files.audio_dst_file) fclose(files.audio_dst_file);
}
int main() {
int ret = 0, got_frame, frameNum = 0;
IOFileName files = { NULL };
DemuxingVideoAudioContex va_ctx = { NULL };
files.src_filename = "test.mp4";
files.video_dst_filename = "out.yuv";
files.audio_dst_filename = "out.pcm";
if ((ret = init_demux_context(files, va_ctx)) < 0)
errReport("init_demux_context", ret);
va_ctx.frame = av_frame_alloc();
if (!va_ctx.frame) errReport("av_frame_alloc", -1);
av_init_packet(&va_ctx.pkt);
va_ctx.pkt.data = NULL;
va_ctx.pkt.size = 0;
while (av_read_frame(va_ctx.fmt_ctx, &va_ctx.pkt) >= 0) {
do {
ret = decode_packet(files, va_ctx, &got_frame, 0);
if (ret < 0) break;
va_ctx.pkt.data += ret;
va_ctx.pkt.size -= ret;
} while (va_ctx.pkt.size > 0);
}
/* flush cached frames */
va_ctx.pkt.data = NULL;
va_ctx.pkt.size = 0;
do {
decode_packet(files, va_ctx, &got_frame, 1);
} while (got_frame);
printf("Demuxing succeeded.\n");
close_demux_context(files, va_ctx);
getch();
return 0;
}
结果:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.26.100
Duration: 00:00:10.03, start: 0.023220, bitrate: 473 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 176x144,
402 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, flt
p, 64 kb/s (default)
Metadata:
handler_name : SoundHandler
[a] c:0 s:1024 [a] c:1 s:1024 [a] c:2 s:1024 [a] c:3 s:1024 [a] c:4 s:1024 [a] c
:5 s:1024 [a] c:6 s:1024 [a] c:7 s:1024
[v] c:0 n:0 [a] c:8 s:1024 [a] c:9 s:1024
[v] c:1 n:2 [a] c:10 s:1024 [a] c:11 s:1024
[v] c:2 n:1 [a] c:12 s:1024 [a] c:13 s:1024
[v] c:3 n:4 [a] c:14 s:1024
[v] c:4 n:3 [a] c:15 s:1024 [a] c:16 s:1024
[v] c:5 n:6 [a] c:17 s:1024 [a] c:18 s:1024
[v] c:6 n:5 [a] c:19 s:1024
[v] c:7 n:7 [a] c:20 s:1024 [a] c:21 s:1024
[v] c:8 n:9 [a] c:22 s:1024 [a] c:23 s:1024
[v] c:9 n:8 [a] c:24 s:1024 [a] c:25 s:1024
[v] c:10 n:11 [a] c:26 s:1024
[v] c:11 n:10 [a] c:27 s:1024 [a] c:28 s:1024
[v] c:12 n:12 [a] c:29 s:1024 [a] c:30 s:1024
[v] c:13 n:14 [a] c:31 s:1024 [a] c:32 s:1024
[v] c:14 n:13 [a] c:33 s:1024
[v] c:15 n:16 [a] c:34 s:1024 [a] c:35 s:1024
[v] c:16 n:15 [a] c:36 s:1024 [a] c:37 s:1024
[v] c:17 n:18 [a] c:38 s:1024
[v] c:18 n:17 [a] c:39 s:1024 [a] c:40 s:1024
[v] c:19 n:20 [a] c:41 s:1024 [a] c:42 s:1024
[v] c:20 n:19 [a] c:43 s:1024 [a] c:44 s:1024
[v] c:21 n:22 [a] c:45 s:1024
[v] c:22 n:21 [a] c:46 s:1024 [a] c:47 s:1024
[v] c:23 n:23 [a] c:48 s:1024 [a] c:49 s:1024
[v] c:24 n:24 [a] c:50 s:1024
[v] c:25 n:26 [a] c:51 s:1024 [a] c:52 s:1024
[v] c:26 n:25 [a] c:53 s:1024 [a] c:54 s:1024
[v] c:27 n:28 [a] c:55 s:1024 [a] c:56 s:1024
[v] c:28 n:27 [a] c:57 s:1024
[v] c:29 n:30 [a] c:58 s:1024 [a] c:59 s:1024
[v] c:30 n:29 [a] c:60 s:1024 [a] c:61 s:1024
[v] c:31 n:32 [a] c:62 s:1024 [a] c:63 s:1024
[v] c:32 n:31 [a] c:64 s:1024
[v] c:33 n:34 [a] c:65 s:1024 [a] c:66 s:1024
[v] c:34 n:33 [a] c:67 s:1024 [a] c:68 s:1024
[v] c:35 n:35 [a] c:69 s:1024
[v] c:36 n:36 [a] c:70 s:1024 [a] c:71 s:1024
[v] c:37 n:38 [a] c:72 s:1024 [a] c:73 s:1024
[v] c:38 n:37 [a] c:74 s:1024 [a] c:75 s:1024
[v] c:39 n:40 [a] c:76 s:1024
[v] c:40 n:39 [a] c:77 s:1024 [a] c:78 s:1024
[v] c:41 n:42 [a] c:79 s:1024 [a] c:80 s:1024
[v] c:42 n:41 [a] c:81 s:1024
[v] c:43 n:44 [a] c:82 s:1024 [a] c:83 s:1024
[v] c:44 n:43 [a] c:84 s:1024 [a] c:85 s:1024
[v] c:45 n:46 [a] c:86 s:1024 [a] c:87 s:1024
[v] c:46 n:45 [a] c:88 s:1024
[v] c:47 n:47 [a] c:89 s:1024 [a] c:90 s:1024
[v] c:48 n:48 [a] c:91 s:1024 [a] c:92 s:1024
[v] c:49 n:49 [a] c:93 s:1024 [a] c:94 s:1024
[v] c:50 n:50 [a] c:95 s:1024
[v] c:51 n:51 [a] c:96 s:1024 [a] c:97 s:1024
[v] c:52 n:53 [a] c:98 s:1024 [a] c:99 s:1024
[v] c:53 n:52 [a] c:100 s:1024
[v] c:54 n:55 [a] c:101 s:1024 [a] c:102 s:1024
[v] c:55 n:54 [a] c:103 s:1024 [a] c:104 s:1024
[v] c:56 n:57 [a] c:105 s:1024 [a] c:106 s:1024
[v] c:57 n:56 [a] c:107 s:1024
[v] c:58 n:59 [a] c:108 s:1024 [a] c:109 s:1024
[v] c:59 n:58 [a] c:110 s:1024 [a] c:111 s:1024
[v] c:60 n:60 [a] c:112 s:1024
[v] c:61 n:62 [a] c:113 s:1024 [a] c:114 s:1024
[v] c:62 n:61 [a] c:115 s:1024 [a] c:116 s:1024
[v] c:63 n:64 [a] c:117 s:1024 [a] c:118 s:1024
[v] c:64 n:63 [a] c:119 s:1024
[v] c:65 n:66 [a] c:120 s:1024 [a] c:121 s:1024
[v] c:66 n:65 [a] c:122 s:1024 [a] c:123 s:1024
[v] c:67 n:68 [a] c:124 s:1024 [a] c:125 s:1024
[v] c:68 n:67 [a] c:126 s:1024
[v] c:69 n:70 [a] c:127 s:1024 [a] c:128 s:1024
[v] c:70 n:69 [a] c:129 s:1024 [a] c:130 s:1024
[v] c:71 n:71 [a] c:131 s:1024
[v] c:72 n:72 [a] c:132 s:1024 [a] c:133 s:1024
[v] c:73 n:74 [a] c:134 s:1024 [a] c:135 s:1024
[v] c:74 n:73 [a] c:136 s:1024 [a] c:137 s:1024
[v] c:75 n:76 [a] c:138 s:1024
[v] c:76 n:75 [a] c:139 s:1024 [a] c:140 s:1024
[v] c:77 n:77 [a] c:141 s:1024 [a] c:142 s:1024
[v] c:78 n:79 [a] c:143 s:1024
[v] c:79 n:78 [a] c:144 s:1024 [a] c:145 s:1024
[v] c:80 n:81 [a] c:146 s:1024 [a] c:147 s:1024
[v] c:81 n:80 [a] c:148 s:1024 [a] c:149 s:1024
[v] c:82 n:83 [a] c:150 s:1024
[v] c:83 n:82 [a] c:151 s:1024 [a] c:152 s:1024
[v] c:84 n:84 [a] c:153 s:1024 [a] c:154 s:1024
[v] c:85 n:86 [a] c:155 s:1024 [a] c:156 s:1024
[v] c:86 n:85 [a] c:157 s:1024
[v] c:87 n:88 [a] c:158 s:1024 [a] c:159 s:1024
[v] c:88 n:87 [a] c:160 s:1024 [a] c:161 s:1024
[v] c:89 n:90 [a] c:162 s:1024
[v] c:90 n:89 [a] c:163 s:1024 [a] c:164 s:1024
[v] c:91 n:92 [a] c:165 s:1024 [a] c:166 s:1024
[v] c:92 n:91 [a] c:167 s:1024 [a] c:168 s:1024
[v] c:93 n:94 [a] c:169 s:1024
[v] c:94 n:93 [a] c:170 s:1024 [a] c:171 s:1024
[v] c:95 n:95 [a] c:172 s:1024 [a] c:173 s:1024
[v] c:96 n:96 [a] c:174 s:1024
[v] c:97 n:98 [a] c:175 s:1024 [a] c:176 s:1024
[v] c:98 n:97 [a] c:177 s:1024 [a] c:178 s:1024
[v] c:99 n:100 [a] c:179 s:1024 [a] c:180 s:1024
[v] c:100 n:99 [a] c:181 s:1024
[v] c:101 n:101 [a] c:182 s:1024 [a] c:183 s:1024
[v] c:102 n:103 [a] c:184 s:1024 [a] c:185 s:1024
[v] c:103 n:102 [a] c:186 s:1024 [a] c:187 s:1024
[v] c:104 n:105 [a] c:188 s:1024
[v] c:105 n:104 [a] c:189 s:1024 [a] c:190 s:1024
[v] c:106 n:107 [a] c:191 s:1024 [a] c:192 s:1024
[v] c:107 n:106 [a] c:193 s:1024
[v] c:108 n:108 [a] c:194 s:1024 [a] c:195 s:1024
[v] c:109 n:110 [a] c:196 s:1024 [a] c:197 s:1024
[v] c:110 n:109 [a] c:198 s:1024 [a] c:199 s:1024
[v] c:111 n:111 [a] c:200 s:1024
[v] c:112 n:112 [a] c:201 s:1024 [a] c:202 s:1024
[v] c:113 n:113 [a] c:203 s:1024 [a] c:204 s:1024
[v] c:114 n:115 [a] c:205 s:1024
[v] c:115 n:114 [a] c:206 s:1024 [a] c:207 s:1024
[v] c:116 n:117 [a] c:208 s:1024 [a] c:209 s:1024
[v] c:117 n:116 [a] c:210 s:1024 [a] c:211 s:1024
[v] c:118 n:119 [a] c:212 s:1024
[v] c:119 n:118 [a] c:213 s:1024 [a] c:214 s:1024
[v] c:120 n:120 [a] c:215 s:1024 [a] c:216 s:1024
[v] c:121 n:121 [a] c:217 s:1024 [a] c:218 s:1024
[v] c:122 n:123 [a] c:219 s:1024
[v] c:123 n:122 [a] c:220 s:1024 [a] c:221 s:1024
[v] c:124 n:125 [a] c:222 s:1024 [a] c:223 s:1024
[v] c:125 n:124 [a] c:224 s:1024
[v] c:126 n:127 [a] c:225 s:1024 [a] c:226 s:1024
[v] c:127 n:126 [a] c:227 s:1024 [a] c:228 s:1024
[v] c:128 n:128 [a] c:229 s:1024 [a] c:230 s:1024
[v] c:129 n:129 [a] c:231 s:1024
[v] c:130 n:131 [a] c:232 s:1024 [a] c:233 s:1024
[v] c:131 n:130 [a] c:234 s:1024 [a] c:235 s:1024
[v] c:132 n:132 [a] c:236 s:1024 [a] c:237 s:1024
[v] c:133 n:134 [a] c:238 s:1024
[v] c:134 n:133 [a] c:239 s:1024 [a] c:240 s:1024
[v] c:135 n:136 [a] c:241 s:1024 [a] c:242 s:1024
[v] c:136 n:135 [a] c:243 s:1024
[v] c:137 n:138 [a] c:244 s:1024 [a] c:245 s:1024
[v] c:138 n:137 [a] c:246 s:1024 [a] c:247 s:1024
[v] c:139 n:139 [a] c:248 s:1024 [a] c:249 s:1024
[v] c:140 n:140 [a] c:250 s:1024
[v] c:141 n:141 [a] c:251 s:1024 [a] c:252 s:1024
[v] c:142 n:143 [a] c:253 s:1024 [a] c:254 s:1024
[v] c:143 n:142 [a] c:255 s:1024
[v] c:144 n:144 [a] c:256 s:1024 [a] c:257 s:1024
[v] c:145 n:145 [a] c:258 s:1024 [a] c:259 s:1024
[v] c:146 n:147 [a] c:260 s:1024 [a] c:261 s:1024
[v] c:147 n:146 [a] c:262 s:1024
[v] c:148 n:148 [a] c:263 s:1024 [a] c:264 s:1024
[v] c:149 n:150 [a] c:265 s:1024 [a] c:266 s:1024
[v] c:150 n:149 [a] c:267 s:1024 [a] c:268 s:1024
[v] c:151 n:151 [a] c:269 s:1024
[v] c:152 n:152 [a] c:270 s:1024 [a] c:271 s:1024
[v] c:153 n:153 [a] c:272 s:1024 [a] c:273 s:1024
[v] c:154 n:154 [a] c:274 s:1024
[v] c:155 n:155 [a] c:275 s:1024 [a] c:276 s:1024
[v] c:156 n:156 [a] c:277 s:1024 [a] c:278 s:1024
[v] c:157 n:158 [a] c:279 s:1024 [a] c:280 s:1024
[v] c:158 n:157 [a] c:281 s:1024
[v] c:159 n:159 [a] c:282 s:1024 [a] c:283 s:1024
[v] c:160 n:160 [a] c:284 s:1024 [a] c:285 s:1024
[v] c:161 n:162 [a] c:286 s:1024
[v] c:162 n:161 [a] c:287 s:1024 [a] c:288 s:1024
[v] c:163 n:164 [a] c:289 s:1024 [a] c:290 s:1024
[v] c:164 n:163 [a] c:291 s:1024 [a] c:292 s:1024
[v] c:165 n:166 [a] c:293 s:1024
[v] c:166 n:165 [a] c:294 s:1024 [a] c:295 s:1024
[v] c:167 n:167 [a] c:296 s:1024 [a] c:297 s:1024
[v] c:168 n:168 [a] c:298 s:1024 [a] c:299 s:1024
[v] c:169 n:169 [a] c:300 s:1024
[v] c:170 n:171 [a] c:301 s:1024 [a] c:302 s:1024
[v] c:171 n:170 [a] c:303 s:1024 [a] c:304 s:1024
[v] c:172 n:172 [a] c:305 s:1024
[v] c:173 n:174 [a] c:306 s:1024 [a] c:307 s:1024
[v] c:174 n:173 [a] c:308 s:1024 [a] c:309 s:1024
[v] c:175 n:176 [a] c:310 s:1024 [a] c:311 s:1024
[v] c:176 n:175 [a] c:312 s:1024
[v] c:177 n:178 [a] c:313 s:1024 [a] c:314 s:1024
[v] c:178 n:177 [a] c:315 s:1024 [a] c:316 s:1024
[v] c:179 n:179 [a] c:317 s:1024
[v] c:180 n:180 [a] c:318 s:1024 [a] c:319 s:1024
[v] c:181 n:182 [a] c:320 s:1024 [a] c:321 s:1024
[v] c:182 n:181 [a] c:322 s:1024 [a] c:323 s:1024
[v] c:183 n:184 [a] c:324 s:1024
[v] c:184 n:183 [a] c:325 s:1024 [a] c:326 s:1024
[v] c:185 n:186 [a] c:327 s:1024 [a] c:328 s:1024
[v] c:186 n:185 [a] c:329 s:1024 [a] c:330 s:1024
[v] c:187 n:187 [a] c:331 s:1024
[v] c:188 n:188 [a] c:332 s:1024 [a] c:333 s:1024
[v] c:189 n:189 [a] c:334 s:1024 [a] c:335 s:1024
[v] c:190 n:190 [a] c:336 s:1024
[v] c:191 n:191 [a] c:337 s:1024 [a] c:338 s:1024
[v] c:192 n:192 [a] c:339 s:1024 [a] c:340 s:1024
[v] c:193 n:193 [a] c:341 s:1024 [a] c:342 s:1024
[v] c:194 n:195 [a] c:343 s:1024
[v] c:195 n:194 [a] c:344 s:1024 [a] c:345 s:1024
[v] c:196 n:197 [a] c:346 s:1024 [a] c:347 s:1024
[v] c:197 n:196 [a] c:348 s:1024
[v] c:198 n:199 [a] c:349 s:1024 [a] c:350 s:1024
[v] c:199 n:198 [a] c:351 s:1024 [a] c:352 s:1024
[v] c:200 n:200 [a] c:353 s:1024 [a] c:354 s:1024
[v] c:201 n:202 [a] c:355 s:1024
[v] c:202 n:201 [a] c:356 s:1024 [a] c:357 s:1024
[v] c:203 n:203 [a] c:358 s:1024 [a] c:359 s:1024
[v] c:204 n:204 [a] c:360 s:1024 [a] c:361 s:1024
[v] c:205 n:206 [a] c:362 s:1024
[v] c:206 n:205 [a] c:363 s:1024 [a] c:364 s:1024
[v] c:207 n:208 [a] c:365 s:1024 [a] c:366 s:1024
[v] c:208 n:207 [a] c:367 s:1024
[v] c:209 n:210 [a] c:368 s:1024 [a] c:369 s:1024
[v] c:210 n:209 [a] c:370 s:1024 [a] c:371 s:1024
[v] c:211 n:212 [a] c:372 s:1024 [a] c:373 s:1024
[v] c:212 n:211 [a] c:374 s:1024
[v] c:213 n:214 [a] c:375 s:1024 [a] c:376 s:1024
[v] c:214 n:213 [a] c:377 s:1024 [a] c:378 s:1024
[v] c:215 n:215 [a] c:379 s:1024
[v] c:216 n:216 [a] c:380 s:1024 [a] c:381 s:1024
[v] c:217 n:218 [a] c:382 s:1024 [a] c:383 s:1024
[v] c:218 n:217 [a] c:384 s:1024 [a] c:385 s:1024
[v] c:219 n:220 [a] c:386 s:1024
[v] c:220 n:219 [a] c:387 s:1024 [a] c:388 s:1024
[v] c:221 n:222 [a] c:389 s:1024 [a] c:390 s:1024
[v] c:222 n:221 [a] c:391 s:1024 [a] c:392 s:1024
[v] c:223 n:224 [a] c:393 s:1024
[v] c:224 n:223 [a] c:394 s:1024 [a] c:395 s:1024
[v] c:225 n:225 [a] c:396 s:1024 [a] c:397 s:1024
[v] c:226 n:226 [a] c:398 s:1024
[v] c:227 n:227 [a] c:399 s:1024 [a] c:400 s:1024
[v] c:228 n:228 [a] c:401 s:1024 [a] c:402 s:1024
[v] c:229 n:229 [a] c:403 s:1024 [a] c:404 s:1024
[v] c:230 n:230 [a] c:405 s:1024
[v] c:231 n:232 [a] c:406 s:1024 [a] c:407 s:1024
[v] c:232 n:231 [a] c:408 s:1024 [a] c:409 s:1024
[v] c:233 n:234 [a] c:410 s:1024
[v] c:234 n:233 [a] c:411 s:1024 [a] c:412 s:1024
[v] c:235 n:236 [a] c:413 s:1024 [a] c:414 s:1024
[v] c:236 n:235 [a] c:415 s:1024 [a] c:416 s:1024
[v] c:237 n:238 [a] c:417 s:1024
[v] c:238 n:237 [a] c:418 s:1024 [a] c:419 s:1024
[v] c:239 n:239 [a] c:420 s:1024 [a] c:421 s:1024
[v] c:240 n:240 [a] c:422 s:1024 [a] c:423 s:1024
[v] c:241 n:241 [a] c:424 s:1024
[v] c:242 n:242 [a] c:425 s:1024 [a] c:426 s:1024
[v] c:243 n:244 [a] c:427 s:1024 [a] c:428 s:1024 [a] c:429 s:1024 [a] c:430 s:1
024 [a] c:431 s:1024
[v](cached) c:244 n:243
[v](cached) c:245 n:246
[v](cached) c:246 n:245
[v](cached) c:247 n:248
[v](cached) c:248 n:247
[v](cached) c:249 n:249 Demuxing succeeded.