summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a75d06f)
This isn't really something the user should have to think about;
it's hard to see a situation where having this off would give
a real advantage.
fprintf(stderr, " --no-transcode-audio copy encoded audio raw from the source stream\n");
fprintf(stderr, " (requires --http-audio-codec= to be set)\n");
}
fprintf(stderr, " --no-transcode-audio copy encoded audio raw from the source stream\n");
fprintf(stderr, " (requires --http-audio-codec= to be set)\n");
}
- fprintf(stderr, " --http-coarse-timebase use less timebase for HTTP (recommended for muxers\n");
- fprintf(stderr, " that handle large pts poorly, like e.g. MP4)\n");
if (program == PROGRAM_NAGERU) {
fprintf(stderr, " --flat-audio start with most audio processing turned off\n");
fprintf(stderr, " (can be overridden by e.g. --enable-limiter)\n");
if (program == PROGRAM_NAGERU) {
fprintf(stderr, " --flat-audio start with most audio processing turned off\n");
fprintf(stderr, " (can be overridden by e.g. --enable-limiter)\n");
{ "x264-vbv-max-bitrate", required_argument, 0, OPTION_X264_VBV_MAX_BITRATE },
{ "x264-param", required_argument, 0, OPTION_X264_PARAM },
{ "http-mux", required_argument, 0, OPTION_HTTP_MUX },
{ "x264-vbv-max-bitrate", required_argument, 0, OPTION_X264_VBV_MAX_BITRATE },
{ "x264-param", required_argument, 0, OPTION_X264_PARAM },
{ "http-mux", required_argument, 0, OPTION_HTTP_MUX },
- { "http-coarse-timebase", no_argument, 0, OPTION_HTTP_COARSE_TIMEBASE },
{ "http-audio-codec", required_argument, 0, OPTION_HTTP_AUDIO_CODEC },
{ "http-audio-bitrate", required_argument, 0, OPTION_HTTP_AUDIO_BITRATE },
{ "http-port", required_argument, 0, OPTION_HTTP_PORT },
{ "http-audio-codec", required_argument, 0, OPTION_HTTP_AUDIO_CODEC },
{ "http-audio-bitrate", required_argument, 0, OPTION_HTTP_AUDIO_BITRATE },
{ "http-port", required_argument, 0, OPTION_HTTP_PORT },
case OPTION_HTTP_MUX:
global_flags.stream_mux_name = optarg;
break;
case OPTION_HTTP_MUX:
global_flags.stream_mux_name = optarg;
break;
- case OPTION_HTTP_COARSE_TIMEBASE:
- global_flags.stream_coarse_timebase = true;
- break;
case OPTION_HTTP_AUDIO_CODEC:
global_flags.stream_audio_codec_name = optarg;
break;
case OPTION_HTTP_AUDIO_CODEC:
global_flags.stream_audio_codec_name = optarg;
break;
string video_extradata = x264_encoder->get_global_headers();
unique_ptr<Mux> mux;
string video_extradata = x264_encoder->get_global_headers();
unique_ptr<Mux> mux;
- int time_base = global_flags.stream_coarse_timebase ? COARSE_TIMEBASE : TIMEBASE;
- mux.reset(new Mux(avctx, global_flags.width, global_flags.height, Mux::CODEC_H264, video_extradata, audio_encoder->get_codec_parameters().get(), time_base,
+ mux.reset(new Mux(avctx, global_flags.width, global_flags.height, Mux::CODEC_H264, video_extradata, audio_encoder->get_codec_parameters().get(), COARSE_TIMEBASE,
/*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics }));
stream_mux_metrics.init({{ "destination", "http" }});
return mux;
/*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics }));
stream_mux_metrics.init({{ "destination", "http" }});
return mux;
video_extradata = x264_encoder->get_global_headers();
}
video_extradata = x264_encoder->get_global_headers();
}
- int time_base = global_flags.stream_coarse_timebase ? COARSE_TIMEBASE : TIMEBASE;
- stream_mux.reset(new Mux(avctx, width, height, video_codec, video_extradata, stream_audio_encoder->get_codec_parameters().get(), time_base,
+ stream_mux.reset(new Mux(avctx, width, height, video_codec, video_extradata, stream_audio_encoder->get_codec_parameters().get(), COARSE_TIMEBASE,
/*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics }));
stream_mux_metrics.init({{ "destination", "http" }});
}
/*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics }));
stream_mux_metrics.init({{ "destination", "http" }});
}