OPTION_HTTP_COARSE_TIMEBASE,
OPTION_HTTP_AUDIO_CODEC,
OPTION_HTTP_AUDIO_BITRATE,
OPTION_HTTP_COARSE_TIMEBASE,
OPTION_HTTP_AUDIO_CODEC,
OPTION_HTTP_AUDIO_BITRATE,
fprintf(stderr, " --http-audio-bitrate=KBITS audio codec bit rate to use for HTTP streams\n");
fprintf(stderr, " (default is %d, ignored unless --http-audio-codec is set)\n",
DEFAULT_AUDIO_OUTPUT_BIT_RATE / 1000);
fprintf(stderr, " --http-audio-bitrate=KBITS audio codec bit rate to use for HTTP streams\n");
fprintf(stderr, " (default is %d, ignored unless --http-audio-codec is set)\n",
DEFAULT_AUDIO_OUTPUT_BIT_RATE / 1000);
+ fprintf(stderr, " --http-port=PORT which port to use for the built-in HTTP server\n");
+ fprintf(stderr, " (default is %d)\n", DEFAULT_HTTPD_PORT);
+ if (program == PROGRAM_KAERU) {
+ 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, " --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, " dropping the frame (default 0.5)\n");
fprintf(stderr, " --timecode-stream show timestamp and timecode in stream\n");
fprintf(stderr, " --timecode-stdout show timestamp and timecode on standard output\n");
fprintf(stderr, " dropping the frame (default 0.5)\n");
fprintf(stderr, " --timecode-stream show timestamp and timecode in stream\n");
fprintf(stderr, " --timecode-stdout show timestamp and timecode on standard output\n");
fprintf(stderr, " --10-bit-input use 10-bit video input (requires compute shaders)\n");
fprintf(stderr, " --10-bit-output use 10-bit video output (requires compute shaders,\n");
fprintf(stderr, " implies --record-x264-video)\n");
fprintf(stderr, " --10-bit-input use 10-bit video input (requires compute shaders)\n");
fprintf(stderr, " --10-bit-output use 10-bit video output (requires compute shaders,\n");
fprintf(stderr, " implies --record-x264-video)\n");
{ "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-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 },
+ { "no-transcode-audio", no_argument, 0, OPTION_NO_TRANSCODE_AUDIO },
{ "flat-audio", no_argument, 0, OPTION_FLAT_AUDIO },
{ "gain-staging", required_argument, 0, OPTION_GAIN_STAGING },
{ "disable-locut", no_argument, 0, OPTION_DISABLE_LOCUT },
{ "flat-audio", no_argument, 0, OPTION_FLAT_AUDIO },
{ "gain-staging", required_argument, 0, OPTION_GAIN_STAGING },
{ "disable-locut", no_argument, 0, OPTION_DISABLE_LOCUT },
{ "output-slop-frames", required_argument, 0, OPTION_OUTPUT_SLOP_FRAMES },
{ "timecode-stream", no_argument, 0, OPTION_TIMECODE_STREAM },
{ "timecode-stdout", no_argument, 0, OPTION_TIMECODE_STDOUT },
{ "output-slop-frames", required_argument, 0, OPTION_OUTPUT_SLOP_FRAMES },
{ "timecode-stream", no_argument, 0, OPTION_TIMECODE_STREAM },
{ "timecode-stdout", no_argument, 0, OPTION_TIMECODE_STDOUT },
{ "10-bit-input", no_argument, 0, OPTION_10_BIT_INPUT },
{ "10-bit-output", no_argument, 0, OPTION_10_BIT_OUTPUT },
{ "input-ycbcr-interpretation", required_argument, 0, OPTION_INPUT_YCBCR_INTERPRETATION },
{ "10-bit-input", no_argument, 0, OPTION_10_BIT_INPUT },
{ "10-bit-output", no_argument, 0, OPTION_10_BIT_OUTPUT },
{ "input-ycbcr-interpretation", required_argument, 0, OPTION_INPUT_YCBCR_INTERPRETATION },
+ if (!global_flags.transcode_audio && global_flags.stream_audio_codec_name.empty()) {
+ fprintf(stderr, "ERROR: If not transcoding audio, you must specify ahead-of-time what audio codec is in use\n");
+ fprintf(stderr, " (using --http-audio-codec).\n");
+ exit(1);
+ }
if (global_flags.x264_speedcontrol) {
if (!global_flags.x264_preset.empty() && global_flags.x264_preset != "faster") {
fprintf(stderr, "WARNING: --x264-preset is overridden by --x264-speedcontrol (implicitly uses \"faster\" as base preset)\n");
if (global_flags.x264_speedcontrol) {
if (!global_flags.x264_preset.empty() && global_flags.x264_preset != "faster") {
fprintf(stderr, "WARNING: --x264-preset is overridden by --x264-speedcontrol (implicitly uses \"faster\" as base preset)\n");