[x265] Adaptove GoP sizes - not sure if its working

Roshantha Mendis hrm506 at york.ac.uk
Sat Aug 22 06:00:51 CEST 2015


Okay , but I want to be able to be able to see a distribution of different
GOP sizes in the encoded video. If they are roughly the same size, it would
mean the encoder has not adaptively set the size of a GOP.

I want to be able to show, that for certain streams there are highly
varying , wide distribution of GOP sizes.

Periodic , equal size GOPs is not what I'm after.

Should I just treat multiple P's as an I frame ? And calculate the GOP
sizes likewise ?

Sorry, for the trouble. The data is for a paper I'm writing.

Many thanks
On 22 Aug 2015 4:54 am, "Deepthi Nandakumar" <deepthi at multicorewareinc.com>
wrote:

> Hi,
>
> You can just set keyint to the rough periodicity of I frames you prefer.
> On Aug 22, 2015 9:12 AM, "Roshantha Mendis" <hrm506 at york.ac.uk> wrote:
>
>> Hi Deepthi,
>>
>> Thank you for replying.
>>
>> So , if I want to get the encoder to add an I-frame instead of multiple p
>> frames , do I have to set another param ? Scene-cut ? What's the upper
>> limit for scenecut ?
>>
>> Thank you
>> Rosh
>> On 22 Aug 2015 2:17 am, "Deepthi Nandakumar" <
>> deepthi at multicorewareinc.com> wrote:
>>
>>> Hello,
>>>
>>> Without the keyint argument, the default keyframe interval reverts to
>>> 250, and the encoder will try to insert I-frames only closer to this value.
>>> With --keyint 50, the encoder will try to insert GOP frames closer to 50,
>>> and thats what the GOP size would roughly be.
>>>
>>> At the points where you expected a scene change / I frame, you might
>>> find that the P-frames are significantly larger, but it's likely the
>>> encoder didnt deem it necessary to insert an I-frame.
>>>
>>>
>>>
>>> On Sat, Aug 22, 2015 at 4:51 AM, Roshantha Mendis <hrm506 at york.ac.uk>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am trying to investigate GoP size changes based on scene changes in
>>>> video.
>>>>
>>>> i've used x265 to encode a y4m (raw) file to hevc bitstream. A standard
>>>> action fight scene : high moving, fast paced, 2-3 mins). So I was hoping to
>>>> get highly varying scene changes. link :
>>>> https://www.youtube.com/watch?v=gQEfEeBR3-M
>>>>
>>>> I used this command:
>>>>
>>>> ./x265 --input ../../../../ffmpeg_work/vids/originals/FightScene.y4m -F
>>>> 0 -o FightScene_x265.bin --csv FightScene_x265.csv --csv-log-level 2
>>>>
>>>> // -- more info --
>>>>
>>>> y4m [info]: 312x176 fps 25/1 i420p8 frames 0 - 5104 of 5105
>>>> raw [info]: output file: FightScene_x265.bin
>>>> x265 [info]: HEVC encoder version 1.7+431-f63273fa3137
>>>> x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
>>>> x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
>>>> AVX2 FMA3 LZCNT BMI2
>>>> x265 [info]: Main profile, Level-2 (Main tier)
>>>> x265 [info]: Thread pool created using 4 threads
>>>> x265 [info]: frame threads / pool features : 2 / wpp(3 rows)
>>>> x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
>>>> x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1
>>>> intra
>>>> x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2
>>>> x265 [info]: Keyframe min / max / scenecut : 25 / 250 / 40
>>>> x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
>>>> x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
>>>> x265 [info]: References / ref-limit cu / depth : 3 / 0 / 0
>>>> x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1
>>>> x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
>>>> x265 [info]: tools: rd=3 psy-rd=0.30 signhide tmvp
>>>> strong-intra-smoothing
>>>> x265 [info]: tools: deblock sao
>>>> x265 [info]: frame I: 2, Avg QP:27.50 kb/s: 919.70
>>>> x265 [info]: frame P: 82, Avg QP:29.56 kb/s: 170.33
>>>> x265 [info]: frame B: 195, Avg QP:35.66 kb/s: 27.40
>>>> x265 [info]: Weighted P-Frames: Y:1.2% UV:1.2%
>>>> x265 [info]: consecutive B-frames: 9.3% 18.6% 12.8% 44.2% 15.1%
>>>>
>>>>
>>>> // ---------
>>>>
>>>>
>>>> So very basic, using only the defaults.
>>>>
>>>> I then investgate the csv file, and check the I-SLICE to I-SLICE frame
>>>> gap (I assume I-Slice --> I-Slice is a GOP)
>>>>
>>>> They all seem around 246 to 252 frames per GoP. I was hoping to get
>>>> drastic GoP changes : e.g. GoP sizes 25, 36, 100 .. 250 etc.
>>>>
>>>> Any thoughts why the difference are so small ?
>>>>
>>>> I even tried setting the following flags to high values :
>>>>
>>>> --scenecut 100 --keyint 240 --min-keyint 2
>>>>
>>>> but the still the gop size remained around 238-242 .. not much
>>>> fluctuation.
>>>>
>>>>
>>>> Please can someone advice why ?
>>>>
>>>>
>>>>
>>>> Many thanks
>>>>
>>>>
>>>> --
>>>> Rosh Mendis
>>>> Research Student - EngD in LSCITS
>>>> Dept. of Computer Science
>>>> University of York
>>>>
>>>> Disclaimer: http://www.york.ac.uk/docs/disclaimer/email.htm
>>>>
>>>> _______________________________________________
>>>> x265-devel mailing list
>>>> x265-devel at videolan.org
>>>> https://mailman.videolan.org/listinfo/x265-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> x265-devel mailing list
>>> x265-devel at videolan.org
>>> https://mailman.videolan.org/listinfo/x265-devel
>>>
>>>
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>>
>>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150822/d25c30f5/attachment-0001.html>


More information about the x265-devel mailing list