diff --git a/stream/__init__.py b/stream/__init__.py index 22f74a1..e44ffad 100644 --- a/stream/__init__.py +++ b/stream/__init__.py @@ -163,6 +163,57 @@ class Plugin_OBJ(): def transcode_profiles(self, stream_args): - ffmpeg_command = ["-vcodec", "libx264", "-pix_fmt", "yuv420p"] + ffmpeg_command = [] + + if not stream_args["transcode_quality"] or stream_args["transcode_quality"] == "heavy": + ffmpeg_command.extend([ + "-c", "copy", + "-f", "mpegts" + ]) + + elif stream_args["transcode_quality"] == "mobile": + ffmpeg_command.extend([ + "-c", "copy", + "-s", "1280X720", + "-b:v", "500k", + "-b:a", "128k", + "-f", "mpegts" + ]) + + elif stream_args["transcode_quality"] == "internet720": + ffmpeg_command.extend([ + "-c", "copy", + "-s", "1280X720", + "-b:v", "1000k", + "-b:a", "196k", + "-f", "mpegts" + ]) + + elif stream_args["transcode_quality"] == "internet480": + ffmpeg_command.extend([ + "-c", "copy", + "-s", "848X480", + "-b:v", "400k", + "-b:a", "128k", + "-f", "mpegts" + ]) + + elif stream_args["transcode_quality"] == "internet360": + ffmpeg_command.extend([ + "-c", "copy", + "-s", "640X360", + "-b:v", "250k", + "-b:a", "96k", + "-f", "mpegts" + ]) + + elif stream_args["transcode_quality"] == "internet240": + ffmpeg_command.extend([ + "-c", "copy", + "-s", "432X240", + "-b:v", "250k", + "-b:a", "96k", + "-f", "mpegts" + ]) return ffmpeg_command