ma3uk / obs-qsv-onevpl

obs-qsv11 plugin with oneVPL support
44 stars 1 forks source link

i'm real time stream 1 hour test but youtube time video jump #8

Closed guraking closed 1 year ago

guraking commented 1 year ago

If you look at this time video jump

I don't know exactly why

https://youtu.be/LkAfgOyGn94?t=1847

guraking commented 1 year ago

my setting

https://youtu.be/LkAfgOyGn94?t=3217

ckdt1105 commented 1 year ago

@guraking 이 주제하고 관련 없는 이야기긴 한데 현재 버전의 플러그인 에서는 65535kbps 이상의 값은 오버플로우가 일어납니다 It's not related to this topic, but in the current version of the plug-in, values over 65535 kbps overflow.

따라서 70000kbps로 송출 하면 4465kbps 정도로 송출 됩니다. Therefore, if you set it to 70000kbps, it will be transmitted at about 4465kbps. image

그리고 유튜브 라이브는 LG U+ 인터넷 기준으로 15000 ~ 20000kbps 정도 되면 네트워크 전송 손실이 생깁니다. And in YouTube Live, network loss occurs when the speed is about 15000 ~ 20000 kbps (ISP = LG U+)

인터넷마다 다를 수는 있지만 비트레이트를 10000 kbps 정도로 낮추는 걸 추천 드립니다. It may be different for each ISP, but I recommend lowering the bit rate to around 10000 kbps.

ckdt1105 commented 1 year ago

@guraking

영상에 나와 있지 않은 유튜브 라이브 세팅이 궁금합니다. I am curious about the YouTube Live settings that are not shown in the video.

송출을 1080P로 하고 유튜브에서 4K로 업스케일을 하는 건지 That's whether the broadcasting is 1080P and upscaled to 4K on YouTube image

아니면 OBS에서 1080P를 업스케일 하여 4K로 방송 하고 있는지 궁금합니다 or broadcasting in 4k (upscaled by 1080P) in OBS? image

참고로 유튜브 라이브는 AV1으로 영상을 받아도 VP9으로 트랜스코딩(재인코딩)하여 송출과 저장을 합니다 In addition, YouTube Live receives a video in AV1, but it is transcoded to VP9 and used for viewing and saving.

이러한 과정에서 구간 스킵이 생길 수 있고 로컬로 저장된 녹화본에는 이러한 문제가 생기지 않을 수 있습니다. Video skipping may occur during this process, and locally stored recordings may not have this problem.

아무튼, 구간 스킵이 저한테도 발생하는지 찾아보겠습니다. I'll look at the previous broadcast and local recordings to see if this bug happens to me too.

guraking commented 1 year ago

@ckdt1105 한국분이신가보군요 적으신 글 내용을 다 알고 있습니다 ^^ 네 4k로 유튜브 권장사항 4k기준 2160p (4K) 66–85 Mbps 세팅이라 av1 압축률을 이용해서 권장사항 기준으로 출력을 보냈급니다. 여기 플러그인을 안쓰고 문제없이 잘 작동하였습니다. (제가 올린 나머지 영상들은 전혀 문제 없이 잘녹화 되었습니다 참고햐보시면 될꺼같네요 obs 기본 av1 으로 아무 문제가 없었습니다)

권장사항을 다시보니 5만까지 낮춰도 문제없을꺼같네요 ^^

아참 전 케이티 인터넷 쓰고있습니다. 그리고 참고로 저는 트위치를 메인으로 하고 유튜브를 녹화용으로 쓰고있습니다. 그래서 로컬은 따로하지 않아서 모르겠습니다.

1080p 로 보내고 유튜브에서 그냥 4k로 저장시켰습니다. 출력배율 조정은 쓰지않았습니다

유튜브 권장 스트림 참고용 https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cbitrate

ckdt1105 commented 1 year ago

@guraking

@ckdt1105 한국분이신가보군요 적으신 글 내용을 다 알고 있습니다 ^^ 네 4k로 유튜브 권장사항 4k기준 2160p (4K) 66–85 Mbps 세팅이라 av1 압축률을 이용해서 권장사항 기준으로 출력을 보냈급니다. 여기 플러그인을 안쓰고 문제없이 잘 작동하였습니다. (제가 올린 나머지 영상들은 전혀 문제 없이 잘녹화 되었습니다 참고햐보시면 될꺼같네요 obs 기본 av1 으로 아무 문제가 없었습니다)

권장사항을 다시보니 5만까지 낮춰도 문제없을꺼같네요 ^^

아참 전 케이티 인터넷 쓰고있습니다. 그리고 참고로 저는 트위치를 메인으로 하고 유튜브를 녹화용으로 쓰고있습니다. 그래서 로컬은 따로하지 않아서 모르겠습니다.

1080p 로 보내고 유튜브에서 그냥 4k로 저장시켰습니다. 출력배율 조정은 쓰지않았습니다

유튜브 권장 스트림 참고용 https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cbitrate

일단 업로드와 라이브는 권장사항이 다릅니다 First of all, upload and live have different recommendations. https://support.google.com/youtube/answer/2853702?hl=en#zippy=%2Ck-p-fps

또한 저 기준은 H264 기준이니 HEVC나 AV1로 송출시 에는 비트레이트를 기준보다 낮게 설정해도 영상 화질에 문제가 생기지 않습니다 . Also, since the standard is H264, there is no problem with image quality even if the bit rate is set lower than the standard when transmitting in HEVC or AV1.

그리고 onvpl 플러그인을 쓰지 않아도 QSV 인코더에서는 65535kbps 이상으로 설정하면 오버플로우가 일어납니다. (65535kbps까지는 정상적으로 송출 되지만 70000kbps로 송출 시 (70000-65535=4465)kbps로 송출 됩니다) Also, even if you don't use the onvpl plugin, overflow occurs when you set it to 65535 kbps or higher in the QSV encoder.

저도 똑같이 A380 그래픽카드를 사용 하고 있으니 동일한 현상이 생길 것 같습니다. I'm using A380 GPU too, so the same thing seems to happen.

결과적으로 로컬 녹화본이 없다고 하시니 구간 스킵이 유튜브 문제인지 QSV 문제인지 확실하지는 않아 보입니다. And since you say there is no local recording, it seems unclear whether the section skip is a YouTube problem or a QSV problem.

만약 네트워크 손실로 인해 유튜브 서버에 영상이 제대로 전송 되지 않았다면 구간이 스킵 된 것 처럼 영상에 남아 있을 가능성이 있습니다. If the video was not properly transmitted to the YouTube server due to network loss, there is a possibility that the section will remain in the video as if it were skipped.

하지만 방송중에 네트워크 손실이 없는데도 구간 스킵이 일어난다면 QSV나 onvpl 플러그인에 문제가 있을 것 같네요 However, if section skip occurs even though there is no network loss during broadcasting, there seems to be a problem with the QSV or onvpl plugin. image

guraking commented 1 year ago

@ckdt1105 손실된 프레임은 아주 미세하게 일어나고 그외에는 손실이 없었습니다. 항상 체크를 하고있거든요 그리고 알려주신데로 비트레이트를 내리고 다시 녹화해보겠습니다

ckdt1105 commented 1 year ago

@guraking

@ckdt1105 손실된 프레임은 아주 미세하게 일어나고 그 외에는 손실이 없었습니다. 항상 체크를 하고 있거든요 그리고 알려주신데로 비트레이트를 내리고 다시 녹화해보겠습니다

그렇군요 그러면 큰 구간의 스킵은 네트워크로 인해 발생하지 않았다는 거네요 It means, skipping segment was not caused by the network.

onvpl을 사용한 유튜브 라이브 녹화본이 있지만 이걸 다 확인하기에는 무리가 있으니 이러한 현상이 일어나는지 모니터링 해 보겠습니다. I have a YouTube live recording using onvpl, but it's difficult to check all of this, so I'll monitor whether this happens. image

guraking commented 1 year ago

@ckdt1105 알겠습니다 저도 계속 테스트를 해보겠습니다. 감사합니다

ma3uk commented 1 year ago

@guraking As mentioned above, Youtube does not assume live broadcasts with such a high bitrate. The oneVPL library and MSDK have a limit on the values used for the bitrate and for the buffer size, for example, for the bitrate - these are internal library restrictions that I cannot influence. One of these restrictions is the use of 16 bits of type for the parameters used for installation, the limit of which is just the value of 65536 bytes, which causes an overflow. For bitrate values exceeding 65536, it is assumed to use CQP or ICQ modes. I will try to contact Intel to find out if it is possible to expand variables to a 32-bit value.

ma3uk commented 1 year ago

@guraking I watched your broadcast, it is noticeable that in scenes with a lot of vegetation and details, there is a rollback of frames, if there were no problems on your part at these moments, then it happens from Youtube in view of the overload of the transcoder in VP9. Try the CQP, ICQ modes or lower the bitrate.

ma3uk commented 1 year ago

@guraking Regarding your video settings, I recommend using the GopRefDist value for the AV1 codec at least 8, ideally 16 - this will greatly improve compression, but it will not affect the quality, and in heavy scenes it will stabilize the video quality. Also include MBBRC and RDO, this will improve the psychovisual perception of video even with a reduced bitrate.

guraking commented 1 year ago

@guraking Regarding your video settings, I recommend using the GopRefDist value for the AV1 codec at least 8, ideally 16 - this will greatly improve compression, but it will not affect the quality, and in heavy scenes it will stabilize the video quality. Also include MBBRC and RDA, this will improve the psychovisual perception of video even with a reduced bitrate.

@ma3uk

ok thx advice bro

2 hour long time no problem (60000 fixed)

maybe high bitrate issu

1

ma3uk commented 1 year ago

@guraking I posted a Dev4 build with a bypass of the 65536 limit, please try it.

ckdt1105 commented 1 year ago

@guraking LG 인터넷은 10000kbps 정도가 안정권이고 20000kbps는 OBS에 빨간불이 자주 들어오던데 (주말에는 해외망의 사용량이 많아서 20000kbps는 무조건 OBS에서 빨간불이 들어옵니다) KT는 해외망이 좋아서 그런지는 몰라도 60000kbps도 잘 받아주나 보네요 SK는 어떨지 모르겠는데 KT랑 LG를 쓰는 지인은 있어도 SK는 없고 이에 관련한 정보를 구글링을 해봐도 나오지가 않네요

그리고 AV1은 압축률이 좋고 어차피 유튜브에서 VP9으로 재인코딩(트랜스코딩)을 하기 때문에 1440P는 30000kps, 1080P는 15000kbps 이상으로는 화질의 차이가 발생하지 않더라고요 (1080P 전송 후 유튜브에서 4K 업스케일을 해주는 경우에는 1080P 송출과 요구 비트레이트가 똑같았음) 하지만 적당한 비트레이트 보다 높게 쏴서 유튜브에 최대한 높은 화질로 저장하는 만족감은 있다고 생각합니다.

아무튼 구글링을 해도 나오지 않는 귀중한 정보 감사합니다.

guraking commented 1 year ago

@ckdt1105 오늘 확실히 3시간동안 라이브 스트림을 해봤습니다. 그러나 케이티 망에서는 손실이 전혀 일어나지가 않더라구요 알려주신대로 비트레이트 6만으로 테스트 해봤습니다. 그러나 문제가 있네요 제가 같이 게임을 하는 동생들하고 예전 7만 8만넣고 obs 기본 qsv av1 이 화질이 더 좋다는 결론을 말하네요 디코방에서 onvpl 플러그인으로 송출한 화면은 먼가 화질이 뿌엿다고 똑같은 결론이 나오고있습니다. 좀 더 오늘 dev4을 올렸다고 하니 그버전으로 다시 테스트 해봐야겠네요 ㅎㅎㅎ

아참 저희는 지금 엔비디아 av1도 테스트 중입니다. 확실한 느낌은 아직 엔비디아 av1 더 좋은거 같기도 하고 그렇습니다 ㅎㅎ

아 그리고 말씀하신대로 1080을 강제로 비트레이트를 올려서 4k 세팅해놓고 vp9에 쏘면 화질이 좋아진다는것을 여러번 테스트 걸쳐서 저도 알아낸 방법이긴 했습니다 ㅎㅎㅎ 요건 솔직히 편법입니다 ㅎㅎㅎ

ckdt1105 commented 1 year ago

@guraking

아 그렇군요 여러가지 테스트를 해보셨군요, 고생이 많으십니다.

직접 해보셔서 알겠지만 인텔 arc의 AV1 품질은 엔비디아 20번대의 HEVC보다 못합니다. https://quasarzone.com/bbs/qn_hardware/views/1469834 image

그리고 보조 GPU로 OBS 인코딩에 사용 했을 때는 메인GPU의 부담을 줄여 주어서 GPU의 병목이 걸리는 게임은 프레임 향상의 효과가 있지만 CPU의 병목이 주로 생기는 경쟁형 게임 같은 경우에는 오히려 게임 프레임이 떨어집니다. 예시)리그오브레전드, 오버워치2, APEX 레전드, 디비전2, 발로란트 등....

이는 보조 GPU로 인코딩 시 OBS화면을 무압축으로 RAM에 저장 한 다음 보조 GPU의 VRAM으로 복사 해온 뒤 인코딩을 하기 때문에 RAM 레이턴시가 늘어져서 그렇습니다.

아래 글은 제가 오늘 작성한 A380 후기 입니다, 참고가 되셨으면 좋겠네요 https://tgd.kr/g/tip/70357149

guraking commented 1 year ago

@guraking

아 그렇군요 여러가지 테스트를 해보셨군요, 고생이 많으십니다.

직접 해보셔서 알겠지만 인텔 arc의 AV1 품질은 엔비디아 20번대의 HEVC보다 못합니다. https://quasarzone.com/bbs/qn_hardware/views/1469834 image

그리고 보조 GPU로 OBS 인코딩에 사용 했을 때는 메인GPU의 부담을 줄여 주어서 GPU의 병목이 걸리는 게임은 프레임 향상의 효과가 있지만 CPU의 병목이 주로 생기는 경쟁형 게임 같은 경우에는 오히려 게임 프레임이 떨어집니다. 예시)리그오브레전드, 오버워치2, APEX 레전드, 디비전2, 발로란트 등....

이는 보조 GPU로 인코딩 시 OBS화면을 무압축으로 RAM에 저장 한 다음 보조 GPU의 VRAM으로 복사 해온 뒤 인코딩을 하기 때문에 RAM 레이턴시가 늘어지기 때문에 그렇습니다.

아래 글은 제가 오늘 작성한 A380 후기 입니다, 참고가 되셨으면 좋겠네요 https://tgd.kr/g/tip/70357149

저는 그래서 그 병목 현상을 없애기 위해서 7800x3d cpu 를 선택했습니다 v캐쉬를 이용한 램과 cpu 그 간섭을 안받을려고 그래서 최근에 나온 암드 7800x3d로 간 이유가 되겠네요 저 트게더 글은 예전에도 한번 쓰신적이 있으셨던걸로 기억합니다 저보다 더 빠르게 a380을 사셔서 테스트 하셔서 트게더에 굴을 남기신걸 본적이 있는거같습니다 이런분을 뵈다니 영광이네요 ㅎㅎㅎ

아참 트게더에 글쓰신 내용중에 저도 멀티 모니터입니다 메인 모니터가 240 엘지 모니터고 서브가 델 60 모니터를 쓰고있지만 단 한번도 obs가 뻗는 경우는 없었습니다. 아마 obs 베타 시절에는 자주 뻗더라구요 트위치를 메인으로 잡고 테스트는 obs 에서 fps 165까지 트위치에 전송도 시켜보고 해도 아무 문제가 없었습니다. 그러나 현재는 유튜브 av1 으로 메인을잡고 테스트 하고있어서 fps를 60으로 잡고 저장하고있습니다(fps 을 올리면 부하가 심하더라구요) 이것은 다중송출 개발자가 아직 av1을 개발을 못한거같더라구요 사람들이 요청은 하는데 그래서 저는 아예 메인을 유튜브로 잡고 트위치를 서브로 하는 방식으로 바꾸었습니다.

guraking commented 1 year ago

@ckdt1105

~ 직접 해보셔서 알겠지만 인텔 arc의 AV1 품질은 엔비디아 20번대의 HEVC보다 못합니다. ~ ^^ 알고있습니다.

이 링크가 방금 제 동생하고 4080 av1을 테스트한 영상입니다. 제 영상과 이 동생 영상과 비교해보면 화질차이는 엔비디아 압승인게 맞습니다. 제 데탑은 a380과 4080을 같이 쓰고 있어서 두가지를 다 테스트 가능합니다. 확실히 엔비디아 압승이 맞습니다....AV1 기준

https://www.youtube.com/watch?v=kkrquza8MkM

ckdt1105 commented 1 year ago

@guraking 그런데 어디에서 글을 보고 한국인이 A380을 샀을까 의문 이었는데 제가 쓴 글을 보고 샀던 것일 줄은 몰랐네요 ㅎㅎ;; 아무튼 감사합니다.

guraking commented 1 year ago

@guraking 그런데 어디에서 글을 보고 한국인이 A380을 샀을까 의문 이었는데 제가 쓴 글을 보고 샀던 것일 줄은 몰랐네요 ㅎㅎ;; 아무튼 감사합니다.

아닙니다. 제가 더 ㅎㅎ 감사합니다. 그 트게더 글을 보지 않았다면 A380은 생각도 안했을꺼 같네요 ㅎㅎ

guraking commented 1 year ago

close

ckdt1105 commented 1 year ago

@ma3uk

@guraking Regarding your video settings, I recommend using the GopRefDist value for the AV1 codec at least 8, ideally 16 - this will greatly improve compression, but it will not affect the quality, and in heavy scenes it will stabilize the video quality. Also include MBBRC and RDO, this will improve the psychovisual perception of video even with a reduced bitrate.

I also got the best compression ratio with a GOP value of 8 or 16 and MBBRC, RDO is auto or on thank you

AV1GOP mbbrc,rdo

guraking commented 1 year ago

@ma3uk @ckdt1105

원인을 찾아보니 제 랜카드가 킬온 스위치가 작동이 되어버리네요 그래서 그부분을 찾아서 제거해주니 방송이 재접속 하는 문제가 해결되었습니다. 혹시나 참고 하시길 바래요

ok i checked my lan card kill - _ - so youtube re connect my bug close issu

ma3uk commented 1 year ago

@ma3uk

@guraking Regarding your video settings, I recommend using the GopRefDist value for the AV1 codec at least 8, ideally 16 - this will greatly improve compression, but it will not affect the quality, and in heavy scenes it will stabilize the video quality. Also include MBBRC and RDO, this will improve the psychovisual perception of video even with a reduced bitrate.

I also got the best compression ratio with a GOP value of 8 or 16 and MBBRC, RDO is auto or on thank you

AV1GOP mbbrc,rdo

You can improve the image quality if you enable ExtBRC in CBR mode and set Scenario to GAME STREAMING. Also, the CPUEncTools parameter set to ON has a good effect on the image quality, but in the current version of the library there is a bug with the initialization of EncTools with the AV1 codec, so you need to leave it in the AUTO state. With AVC(H 264) and HEVC codecs, you can enable CPUEncTools.

ckdt1105 commented 1 year ago

@ma3uk

I will try to test the QSV parameters with your advice. thank you.