A depuração do ffmpeg mostra que o arquivo avi contém um fluxo de legendas que possui um cabeçalho de formato de fluxo AVI vazio.
Nesse caso, o método avi_read_header não define st- > codec- > codec_type
698 case MKTAG('s', 't', 'r', 'f'):
699 /* stream header */
700 if (!size)
701 break;
Em seguida, arquivo_de_entrada_de_aberta , imprima o registro e saia sem condições.
1939 switch (ist->st->codec->codec_type) {
1940 case AVMEDIA_TYPE_VIDEO: ost = new_video_stream (o, oc, src_idx); break;
1941 case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream (o, oc, src_idx); break;
1942 case AVMEDIA_TYPE_SUBTITLE: ost = new_subtitle_stream (o, oc, src_idx); break;
1943 case AVMEDIA_TYPE_DATA: ost = new_data_stream (o, oc, src_idx); break;
1944 case AVMEDIA_TYPE_ATTACHMENT: ost = new_attachment_stream(o, oc, src_idx); break;
1945 default:
1946 av_log(NULL, AV_LOG_FATAL, "Cannot map stream #%d:%d - unsupported type.\n",
1947 map->file_index, map->stream_index);
1948 exit_program(1);
1949 }
Em seguida, o suporte ao arquivo AVI com um cabeçalho de formato de fluxo vazio precisa modificar o ffmpeg.