X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffmpeg_opt.c;h=7439bc52207da6f5476705fe2c39b7bb916ff54c;hb=80da227c660e7bef7400f602a9817a897f07022b;hp=887752d8c1ef51192d01baaf301e2baa9cee3dfc;hpb=83d100baea7ae9549ac189772a62d83dc6bc48e4;p=ffmpeg diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index 887752d8c1e..7439bc52207 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -888,8 +888,10 @@ static int open_input_file(OptionsContext *o, const char *filename) ret = avformat_find_stream_info(ic, opts); if (ret < 0) { av_log(NULL, AV_LOG_FATAL, "%s: could not find codec parameters\n", filename); - avformat_close_input(&ic); - exit_program(1); + if (ic->nb_streams == 0) { + avformat_close_input(&ic); + exit_program(1); + } } timestamp = (o->start_time == AV_NOPTS_VALUE) ? 0 : o->start_time; @@ -2398,7 +2400,11 @@ static int opt_old2new(void *optctx, const char *opt, const char *arg) static int opt_bitrate(void *optctx, const char *opt, const char *arg) { OptionsContext *o = optctx; - if(!strcmp(opt, "b")){ + + if(!strcmp(opt, "ab")){ + av_dict_set(&o->g->codec_opts, "b:a", arg, 0); + return 0; + } else if(!strcmp(opt, "b")){ av_log(NULL, AV_LOG_WARNING, "Please use -b:a or -b:v, -b is ambiguous\n"); av_dict_set(&o->g->codec_opts, "b:v", arg, 0); return 0; @@ -2942,6 +2948,8 @@ const OptionDef options[] = { { "force_key_frames", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(forced_key_frames) }, "force key frames at specified timestamps", "timestamps" }, + { "ab", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_bitrate }, + "audio bitrate (please use -b:a)", "bitrate" }, { "b", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_bitrate }, "video bitrate (please use -b:v)", "bitrate" }, { "hwaccel", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |