#include "flags.h"
+#include "defs.h"
+#include "shared/shared_defs.h"
+#include "ycbcr_interpretation.h"
#include <getopt.h>
+#include <math.h>
+#include <map>
+#include <movit/image_format.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <string>
#include <utility>
+#include <vector>
using namespace std;
OPTION_SRT_PASSPHRASE,
OPTION_SRT_YOUTUBE_STREAM_KEY,
OPTION_SRT_LATENCY,
+ OPTION_CEF,
OPTION_NO_TRANSCODE_VIDEO,
OPTION_NO_TRANSCODE_AUDIO,
OPTION_DISABLE_AUDIO,
fprintf(stderr, " --no-srt disable receiving SRT streams\n");
#endif
if (program == PROGRAM_KAERU) {
+#ifdef HAVE_CEF
+ fprintf(stderr, " --cef render input as a web page (implies --disable-audio)\n");
+#endif
fprintf(stderr, " --no-transcode-video copy encoded video raw from the source stream\n");
fprintf(stderr, " (experimental, must be H.264)\n");
fprintf(stderr, " --no-transcode-audio copy encoded audio raw from the source stream\n");
fprintf(stderr, " --srt-youtube-stream-key=KEY shortcut for --srt-destination=a.srt.youtube.com:2010\n");
fprintf(stderr, " --srt-streamid=#!::u=<KEY>,copy=0,encoder=Nageru\n");
fprintf(stderr, " --srt-latency=MS output SRT latency in milliseconds (default is %d)\n", DEFAULT_SRT_OUTPUT_LATENCY_MS);
- fprintf(stderr, " --srt-streamid=#!::u=<KEY>,copy=0,encoder=Nageru\n");
#endif
fprintf(stderr, " --flat-audio start with most audio processing turned off\n");
fprintf(stderr, " (can be overridden by e.g. --enable-limiter)\n");
{ "srt-passphrase", required_argument, 0, OPTION_SRT_PASSPHRASE },
{ "srt-youtube-stream-key", required_argument, 0, OPTION_SRT_YOUTUBE_STREAM_KEY },
{ "srt-latency", required_argument, 0, OPTION_SRT_LATENCY },
+#endif
+#ifdef HAVE_CEF
+ { "cef", no_argument, 0, OPTION_CEF },
#endif
{ "no-transcode-video", no_argument, 0, OPTION_NO_TRANSCODE_VIDEO },
{ "no-transcode-audio", no_argument, 0, OPTION_NO_TRANSCODE_AUDIO },
global_flags.srt_streamid = string("#!::u=") + optarg + ",copy=0,encoder=Nageru " NAGERU_VERSION;
break;
case OPTION_SRT_LATENCY:
- global_flags.srt_output_latency = atoi(optarg);
+ global_flags.srt_output_latency_ms = atoi(optarg);
break;
#endif
+ case OPTION_CEF:
+ global_flags.use_cef = true;
+ global_flags.enable_audio = false;
+ break;
case OPTION_NO_TRANSCODE_VIDEO:
global_flags.transcode_video = false;
break;
fprintf(stderr, " (using --http-audio-codec).\n");
exit(1);
}
+#ifdef HAVE_CEF
+ if (global_flags.enable_audio && global_flags.use_cef) {
+ fprintf(stderr, "ERROR: --cef does not currently support audio.\n");
+ exit(1);
+ }
+#endif
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");