Skip to content
This repository has been archived by the owner. It is now read-only.

SVT-AV1-0.5.0 not creating enough keyframes for long (1000 frames) encode? #257

Closed
Randrianasulu opened this issue May 19, 2019 · 5 comments
Closed

Comments

@Randrianasulu
Copy link

@Randrianasulu Randrianasulu commented May 19, 2019

Hello, I just compiled SVT-AV1 0.5.0 release on Slackware Linux 14.2 (64 bit, gcc 5.5.0).
100 frames long encode was ok.
But attempt at making longer version produced strange output, badly seekable in ffplay.
Initial command line:
ffmpeg -i /home/guest/20160802_185428.MOV -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtAv1EncApp -i stdin -n 1000 -w 1280 -h 720 -b out-1.ivy

file: https://yadi.sk/d/qu7qMKRB5M-9Eg

Problem is, even if I tried to set reference frame numbers via command line - resulted file was not good for seeking, too!

command line 2:
ffmpeg -i /home/guest/20160802_185428.MOV -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtAv1EncApp -i stdin -n 1000 -w 1280 -h 720 -intra-period 30 -b out-2.ivy

Output for second case was:

SVT-AV1 Encoder
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.5.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-3.2.4/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libcaca --enable-libcdio --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libwavpack --enable-x11grab
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/guest/20160802_185428.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2016-08-02T18:54:28.000000Z
Duration: 00:01:17.16, start: 0.000000, bitrate: 9895 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1280x720, 8077 kb/s, 30.02 fps, 30 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2016-08-02T18:54:28.000000Z
handler_name : iCat Alias Data Handler
encoder : iCatch AVCC
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 44100 Hz, stereo, s16, 1411 kb/s (default)
Metadata:
creation_time : 2016-08-02T18:54:28.000000Z
handler_name : iCat Alias Data Handler
[swscaler @ 0x24fdde0] deprecated pixel format used, make sure you did set range correctly
Output #0, rawvideo, to 'pipe:':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
encoder : Lavf57.56.101
Stream #0:0(eng): Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
Metadata:
creation_time : 2016-08-02T18:54:28.000000Z
handler_name : iCat Alias Data Handler
encoder : Lavc57.64.101 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
SVT [version]: SVT-AV1 Encoder Lib v0.5.0
SVT [build] : GCC 5.5.0 64 bit
LIB Build date: May 19 2019 22:58:37

Number of logical cores available: 4
Number of PPCS 72

SVT [config]: Main Profile Tier (auto) Level (auto)
SVT [config]: EncoderMode : 8
SVT [config]: EncoderBitDepth / EncoderColorFormat / CompressedTenBitFormat : 8 / 1 / 0
SVT [config]: SourceWidth / SourceHeight : 1280 / 720
SVT [config]: FrameRate / Gop Size : 30 / 31
SVT [config]: HierarchicalLevels / BaseLayerSwitchMode / PredStructure : 4 / 0 / 2
SVT [config]: BRC Mode / QP / LookaheadDistance / SceneChange : CQP / 50 / 33 / 0

 1000frame= 1000 fps=1.6 q=-0.0 size= 1350000kB time=00:00:33.33 bitrate=331776.0kbits/s dup=0 drop=1 speed=0.0538x

SUMMARY --------------------------------- Channel 1 --------------------------------
Total Frames Frame Rate Byte Count Bitrate
1000 30.00 fps 12829194 3079.01 kbps

Channel 1
Average Speed: 1.513 fps
Total Encoding Time: 660822 ms
Total Execution Time: 661616 ms
Average Latency: 50194 ms
Max Latency: 81331 ms
Encoder finished

ffmpeg ticket:
https://trac.ffmpeg.org/ticket/7913

@hassount
Copy link
Collaborator

@hassount hassount commented May 19, 2019

can you try using -irefresh-type 2 to address the seeking issues?

@Randrianasulu
Copy link
Author

@Randrianasulu Randrianasulu commented May 20, 2019

yes, -irefresh-type 2 at encoding time + ffmpeg-git remux (./ffmpeg -i ../out-3.ivy -vcodec copy -v verbose ../av1_svt_0.5_1000frames-3.webm) produced seekable file. Laughably, ffplay still having issues, but my main application I tested those files with - Cinelerra-GG - works fine!

@Randrianasulu
Copy link
Author

@Randrianasulu Randrianasulu commented May 20, 2019

https://yadi.sk/d/y_MMRKxzqbEJ1w - version of file produced with
ffmpeg -i /home/guest/20160802_185428.MOV -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtAv1EncApp -i stdin -n 1000 -w 1280 -h 720 -intra-period 30 -irefresh-type 2 -b out-3.ivy

sha256sum:
d8b643c3e33cbc7cf02d0fa467140d42ede1ce177e7ac675d5483ba844e7e1ca out-3.ivy

@hassount
Copy link
Collaborator

@hassount hassount commented May 21, 2019

@Randrianasulu it seems that this issue is closed on ffmpeg, do we still need this one open ?

@Randrianasulu
Copy link
Author

@Randrianasulu Randrianasulu commented May 22, 2019

well, if " -irefresh-type 2" was made default or at least mentioned more directly in docs - this one can be closed, too? But unseekable streams by default seems like bug at your side for me, even if such behavior somewhat desirable. At least document it, please.

@hassount hassount added this to the v0.8.2 milestone Jan 31, 2020
@hassount hassount modified the milestones: v0.8.2, v0.8.3 Feb 14, 2020
@hassount hassount mentioned this issue Jun 18, 2020
3 of 11 tasks complete
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

2 participants