Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 20th September 2017, 14:59   #1  |  Link
zub35
Registered User
 
Join Date: Oct 2016
Posts: 56
Realtime 2-pass encoding - "GPUCPU 1+2pass"



full manual (russian) https://goodgame.ru/topic/102016/

Need:
nginx: https://github.com/illuspas/nginx-rt...rchive/nms.zip
ffmpeg: https://ffmpeg.zeranoe.com/builds/wi...in64-static.7z
RAMDisk: http://memory.dataram.com/__download...4_4_0_RC36.msi
start-2pass.bat v1.4: https://yadi.sk/d/8KvDnztR3N5Spk

nvenc (key-1s) -> nginx -> ffmpeg create segments (3s) - 1-2pass - ffmpeg add in ts file - stream flv(rtmp)

The problem is that some web players don't understand this picture.
https://i.imgur.com/pin7Qkp.png

1 pass no segments - good, 1 pass segments - good
2 pass no segments - good, 2 pass segments - bad (twitch and youtube - good)

How to properly glue the segments so that all web-players reproduce the picture without problems?

Last edited by zub35; 25th September 2017 at 14:26.
zub35 is offline   Reply With Quote
Old 21st September 2017, 18:23   #2  |  Link
zub35
Registered User
 
Join Date: Oct 2016
Posts: 56
UPD script to v1.5 https://yadi.sk/d/MqqEoXHh3N7o4y
delete keyint option (auto = time segment), and made vbr-segments in cbr-stream for even better quality ;-)



Smaller segment -- less quality and more CBR
1s segment = full CBR, quality = 1pass on the stream (useless mode)

Larger segment -- better quality and less CBR
10s segment = full VBR, quality = 2pass on the file (mode where CBR and waiting time is not important)

UPD v1.8 : https://yadi.sk/d/z_xeKEir3NBezX

Last edited by zub35; 24th September 2017 at 19:26.
zub35 is offline   Reply With Quote
Old 26th September 2017, 03:33   #3  |  Link
zub35
Registered User
 
Join Date: Oct 2016
Posts: 56
UPD v2.0 https://yadi.sk/d/OUXVwcs73NDgQy
Added flag "stitchable" in script for correct build stream. Now, all web-players launch the video.
To start 1: RAMdisk (create disk), 2: nginx (start server), 3: This script, and wait for message, 4: Stream-capture (NVENC or other GPU-encode)

Last edited by zub35; 26th September 2017 at 15:02.
zub35 is offline   Reply With Quote
Old 27th September 2017, 15:32   #4  |  Link
zub35
Registered User
 
Join Date: Oct 2016
Posts: 56
Two recipes of "happiness" ^_^"

1. Use segments of 2s or 3s, keyint is calculated relative to their length.
2. Use segments of 4s and manually calculated keyint=2*fps,
insert "-g <value>" in "settings="

In the second case the segment will be divided into 2 parts keyint intervals, allowing at the same time kept within acceptable norms, but also win with relative 2s and 3s segments with auto-keyint. But it's a little (2-3sec) will add delay to the existing 8-10sec delay, and increase vbr.

zub35 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.