New upstream version 0.16.2+dfsg1
This commit is contained in:
parent
67704ac59c
commit
6efda2859e
377 changed files with 7938 additions and 696 deletions
|
|
@ -6,6 +6,8 @@ RateControl="Rate Control"
|
|||
KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)"
|
||||
Lossless="Lossless"
|
||||
|
||||
BFrames="B-frames"
|
||||
|
||||
NVENC.Use2Pass="Use Two-Pass Encoding"
|
||||
NVENC.Preset.default="Default"
|
||||
NVENC.Preset.hq="High Quality"
|
||||
|
|
|
|||
|
|
@ -2,17 +2,18 @@ FFmpegOutput="Saída do FFmpeg"
|
|||
FFmpegAAC="Codificador AAC Padrão do FFmpeg"
|
||||
Bitrate="Taxa de Bits"
|
||||
Preset="Predefinição"
|
||||
RateControl="Controle de Taxa"
|
||||
KeyframeIntervalSec="Intervalo do keyframe (segundos, 0=automático)"
|
||||
RateControl="Controle da Taxa de Bits"
|
||||
KeyframeIntervalSec="Intervalo de Keyframe (segundos, 0=auto)"
|
||||
Lossless="Sem perdas"
|
||||
|
||||
NVENC.Preset.default="Predefinido"
|
||||
NVENC.Use2Pass="Utilizar a codificação em dois passos"
|
||||
NVENC.Preset.default="Padrão"
|
||||
NVENC.Preset.hq="Alta Qualidade"
|
||||
NVENC.Preset.hp="Alto Desempenho"
|
||||
NVENC.Preset.hp="Alta Performance"
|
||||
NVENC.Preset.bd="Bluray"
|
||||
NVENC.Preset.ll="Baixa latência"
|
||||
NVENC.Preset.llhq="Baixa latência Alta Qualidade"
|
||||
NVENC.Preset.llhp="Baixa latência Alto Desempenho"
|
||||
NVENC.Preset.ll="Baixa Latência"
|
||||
NVENC.Preset.llhq="Baixa Latência e Alta Qualidade"
|
||||
NVENC.Preset.llhp="Baixa latência e Alta Performance"
|
||||
NVENC.Level="Nível"
|
||||
|
||||
FFmpegSource="Fonte de mídia"
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ FFmpegAAC="AAC-kodare (FFmpeg standard)"
|
|||
Bitrate="Bithastighet"
|
||||
Preset="Förinställning"
|
||||
RateControl="Hastighetskontroll"
|
||||
KeyframeIntervalSec="Intervall för keyframes (sekunder, 0=automatisk)"
|
||||
Lossless="Förlustfri"
|
||||
|
||||
NVENC.Use2Pass="Använd tvåpassavkodning"
|
||||
|
|
|
|||
49
plugins/obs-ffmpeg/data/locale/uk-UA.ini
Normal file
49
plugins/obs-ffmpeg/data/locale/uk-UA.ini
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
FFmpegOutput="Вивід FFmpeg"
|
||||
FFmpegAAC="FFmpeg AAC енкодер за замовчанням"
|
||||
Bitrate="Бітрейт"
|
||||
Preset="Шаблон"
|
||||
RateControl="Керування потоком"
|
||||
KeyframeIntervalSec="Інтервал ключових кадрів (секунд, 0 = авто)"
|
||||
Lossless="Без втрат"
|
||||
|
||||
NVENC.Use2Pass="Використовувати двопрохідне кодування"
|
||||
NVENC.Preset.default="Стандартний"
|
||||
NVENC.Preset.hq="Висока якість"
|
||||
NVENC.Preset.hp="Висока продуктивність"
|
||||
NVENC.Preset.bd="Blu-ray"
|
||||
NVENC.Preset.ll="З низькою затримкою"
|
||||
NVENC.Preset.llhq="З низькою затримкою, висока Якість"
|
||||
NVENC.Preset.llhp="З низькою затримкою, висока Продуктивність"
|
||||
NVENC.Level="Рівень"
|
||||
|
||||
FFmpegSource="Мультимедіа"
|
||||
LocalFile="Локальний файл"
|
||||
Looping="Повторювати"
|
||||
Input="Вхід"
|
||||
InputFormat="Вхідний формат"
|
||||
ForceFormat="Примусове перетворення формату"
|
||||
HardwareDecode="Використовувати апаратне декодування, за наявності"
|
||||
ClearOnMediaEnd="Не відображати джерело, коли відтворення завершено"
|
||||
Advanced="Розширені параметри"
|
||||
AudioBufferSize="Розмір аудіо буфера, (кадрів)"
|
||||
VideoBufferSize="Розмір відео буфера, (кадрів)"
|
||||
FrameDropping="Вид пропущених кадрів"
|
||||
DiscardNone="Немає"
|
||||
DiscardDefault="За замовчанням (лише збійні пакети)"
|
||||
DiscardNonRef="Всі крім опорних кадрів"
|
||||
DiscardBiDir="Лише В-кадри"
|
||||
DiscardNonIntra="Всі крім I-кадрів"
|
||||
DiscardNonKey="Всі крім ключових кадрів"
|
||||
DiscardAll="Всі кадри (Обережно!)"
|
||||
RestartWhenActivated="Грати з початку, коли джерело стає активним"
|
||||
ColorRange="YUV, колірний діапазон"
|
||||
ColorRange.Auto="Автовизначення"
|
||||
ColorRange.Partial="Частковий"
|
||||
ColorRange.Full="Повний"
|
||||
|
||||
|
||||
MediaFileFilter.AllMediaFiles="Файли мультимедіа"
|
||||
MediaFileFilter.VideoFiles="Відео"
|
||||
MediaFileFilter.AudioFiles="Аудіо"
|
||||
MediaFileFilter.AllFiles="Всі файли"
|
||||
|
||||
|
|
@ -274,7 +274,7 @@ static void ffmpeg_mux_stop(void *data, uint64_t ts)
|
|||
{
|
||||
struct ffmpeg_muxer *stream = data;
|
||||
|
||||
if (capturing(stream)) {
|
||||
if (capturing(stream) || ts == 0) {
|
||||
stream->stop_ts = (int64_t)ts / 1000LL;
|
||||
os_atomic_set_bool(&stream->stopping, true);
|
||||
os_atomic_set_bool(&stream->capturing, false);
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ struct nvenc_encoder {
|
|||
|
||||
int height;
|
||||
bool first_packet;
|
||||
bool initialized;
|
||||
};
|
||||
|
||||
static const char *nvenc_getname(void *unused)
|
||||
|
|
@ -113,6 +114,8 @@ static bool nvenc_init_codec(struct nvenc_encoder *enc)
|
|||
return false;
|
||||
}
|
||||
|
||||
enc->initialized = true;
|
||||
|
||||
*((AVPicture*)enc->vframe) = enc->dst_picture;
|
||||
return true;
|
||||
}
|
||||
|
|
@ -138,6 +141,7 @@ static bool nvenc_update(void *data, obs_data_t *settings)
|
|||
bool twopass = obs_data_get_bool(settings, "2pass");
|
||||
int gpu = (int)obs_data_get_int(settings, "gpu");
|
||||
bool cbr_override = obs_data_get_bool(settings, "cbr");
|
||||
int bf = (int)obs_data_get_int(settings, "bf");
|
||||
|
||||
video_t *video = obs_encoder_video(enc->encoder);
|
||||
const struct video_output_info *voi = video_output_get_info(video);
|
||||
|
|
@ -159,7 +163,7 @@ static bool nvenc_update(void *data, obs_data_t *settings)
|
|||
|
||||
nvenc_video_info(enc, &info);
|
||||
av_opt_set_int(enc->context->priv_data, "cbr", false, 0);
|
||||
|
||||
av_opt_set(enc->context->priv_data, "profile", profile, 0);
|
||||
av_opt_set(enc->context->priv_data, "preset", preset, 0);
|
||||
|
||||
if (astrcmpi(rc, "cqp") == 0) {
|
||||
|
|
@ -198,6 +202,7 @@ static bool nvenc_update(void *data, obs_data_t *settings)
|
|||
AVCOL_SPC_BT709 : AVCOL_SPC_BT470BG;
|
||||
enc->context->color_range = info.range == VIDEO_RANGE_FULL ?
|
||||
AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG;
|
||||
enc->context->max_b_frames = bf;
|
||||
|
||||
if (keyint_sec)
|
||||
enc->context->gop_size = keyint_sec * voi->fps_num /
|
||||
|
|
@ -232,6 +237,20 @@ static void nvenc_destroy(void *data)
|
|||
{
|
||||
struct nvenc_encoder *enc = data;
|
||||
|
||||
if (enc->initialized) {
|
||||
AVPacket pkt = {0};
|
||||
int r_pkt = 1;
|
||||
|
||||
while (r_pkt) {
|
||||
if (avcodec_encode_video2(enc->context, &pkt, NULL,
|
||||
&r_pkt) < 0)
|
||||
break;
|
||||
|
||||
if (r_pkt)
|
||||
av_free_packet(&pkt);
|
||||
}
|
||||
}
|
||||
|
||||
avcodec_close(enc->context);
|
||||
av_frame_free(&enc->vframe);
|
||||
avpicture_free(&enc->dst_picture);
|
||||
|
|
@ -363,6 +382,7 @@ static void nvenc_defaults(obs_data_t *settings)
|
|||
obs_data_set_default_string(settings, "level", "auto");
|
||||
obs_data_set_default_bool(settings, "2pass", true);
|
||||
obs_data_set_default_int(settings, "gpu", 0);
|
||||
obs_data_set_default_int(settings, "bf", 2);
|
||||
}
|
||||
|
||||
static bool rate_control_modified(obs_properties_t *ppts, obs_property_t *p,
|
||||
|
|
@ -472,6 +492,9 @@ static obs_properties_t *nvenc_properties(void *unused)
|
|||
obs_module_text("NVENC.Use2Pass"));
|
||||
obs_properties_add_int(props, "gpu", obs_module_text("GPU"), 0, 8, 1);
|
||||
|
||||
obs_properties_add_int(props, "bf", obs_module_text("BFrames"),
|
||||
0, 4, 1);
|
||||
|
||||
return props;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue