List Info

Thread: RE: another questions for creating thumbnail by dtdriver plugin




RE: another questions for creating thumbnail by dtdriver plugin
country flaguser name
United States
2008-02-14 13:21:32
Halley,

My responses inline below...

=============================================
Eric Hyche (ehychereal.com)
Technical Lead
RealNetworks, Inc.  

> -----Original Message-----
> From: Zhao, Halley [mailto:halley.zhaointel.com] 
> Sent: Thursday, February 14, 2008 5:04 AM
> To: ehychereal.com; helix-client-devhelixcommunity.org
> Cc: Greg Wright
> Subject: another questions for creating thumbnail by
dtdriver plugin 
> 
> $B!!!!(BWhen I create thumbnail by dtdriver, we will
set some options.
> $B!!!!(B1>
> $B!!!!(BIf we set the StartTime to 0, it will work
smoothly:
> $B!!!!(B    	
>
pOptions->SetPropertyULONG32(DECODEVIDEO_OPTION_NAME,
1);
> $B!!!!(B   
	pOptions->SetPropertyULONG32(BLOCK_OPTION_NAME, 1);
> $B!!!!(B    	
>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 5);
> $B!!!!(B   
	pOptions->SetPropertyULONG32("StartTime", 0);
> $B!!!!(B   
	pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
> $B!!!!(Bbut many streams has black video for the
first several frames.

Often times many videos fade up from black in the first few
frames. You have
set a start time of 0ms, which will mean you get the very
first frame in the
video. This is very often black.

> $B!!!!(B2> 
> $B!!!!(BSo I try to set options as following: (set
StartTime to the 
> 20th frame)
> $B!!!!(B    	
>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 1);
> $B!!!!(B   
	pOptions->SetPropertyULONG32("StartTime",
20);
> $B!!!!(Bhowever, we often got black video, it is not
expected, and 
> not the true image of that frame.

The value of "StartTime" is in milliseconds, not
frames.

What branch are you building from, by the way? The cayenne
branch has
a slightly different behavior on thumbnails than does the
atlas branch. The atlas
branch will attempt to give you the exact frame at the time
you ask for. The 
cayenne branch will give you the closest keyframe prior to
the time you ask for.

> $B!!!!(B3>
> $B!!!!(BIf I tried parameter as following: (set
StartTime to 0, but 
> decode 20 frames)
> $B!!!!(B    	
>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 20);
> $B!!!!(B   
	pOptions->SetPropertyULONG32("StartTime", 0);
> $B!!!!(Bwe can get valid thumbnail, but we need
decode many frames, 
> consume CPU a lot.
> $B!!!!(B

You should always set PROCESSTIMEUNITS_OPTION_NAME to 1 for
thumbnail generation.

> $B!!!!(B4> still another question, ogg stream
always fail to create 
> thumbnail, but call back by lots of OnPackets()

You are getting OnPacket() callbacks from an ogg theora
stream? If
so, then is there some problem with those frame packets?

Eric

> $B!!!!(B
> $B!!!!(BAny suggestion.
> $B!!!!(BGreat thanks.
> $B!!!!(B
> $B!!!!(B>-----Original Message-----
> $B!!!!(B>From: Eric Hyche [mailto:ehychereal.com]
> $B!!!!(B>Sent: 2008$BG/(B2$B7n(B14$BF|(B
1:55
> $B!!!!(B>To: Zhao, Halley; helix-client-devhelixcommunity.org
> $B!!!!(B>Cc: 'Greg Wright'
> $B!!!!(B>Subject: RE: some questions for creating
thumbnail by 
> dtdriver plugin
> $B!!!!(B>
> $B!!!!(B>
> $B!!!!(B>Halley,
> $B!!!!(B>
> $B!!!!(B>The dtdrive framework does thumbnail
generation by acting 
> as a dummy
> $B!!!!(B>video surface to the video renderers. So
the video renderers
> $B!!!!(B>do a blt to the video surface and so
dtdrive is then able
> $B!!!!(B>to capture that blt and return the frame
to the application.
> $B!!!!(B>
> $B!!!!(B>But this implies that the renderer is
actually returning
> $B!!!!(B>real image bits for the frame.
Hardware-accelerated decoders
> $B!!!!(B>would not be doing that - they would just
be returning
> $B!!!!(B>a *reference* to the frame rather than
the actual frame
> $B!!!!(B>bits.
> $B!!!!(B>
> $B!!!!(B>So the short answer is that no, you would
not be able
> $B!!!!(B>to use dtdrive for thumbnail generation
with hardware
> $B!!!!(B>accelerated decoders. At least not
without some modifications
> $B!!!!(B>to dtdrive and/or the HW-acclerated
decoder.
> $B!!!!(B>
> $B!!!!(B>Eric
> $B!!!!(B>
>
$B!!!!(B>=============================================
> $B!!!!(B>Eric Hyche (ehychereal.com)
> $B!!!!(B>Technical Lead
> $B!!!!(B>RealNetworks, Inc.
> $B!!!!(B>
> $B!!!!(B>> -----Original Message-----
> $B!!!!(B>> From: Zhao, Halley
[mailto:halley.zhaointel.com]
> $B!!!!(B>> Sent: Monday, February 04, 2008 5:00
AM
> $B!!!!(B>> To: helix-client-devhelixcommunity.org
> $B!!!!(B>> Cc: ehychereal.com; Greg Wright
> $B!!!!(B>> Subject: some questions for creating
thumbnail by dtdriver plugin
> $B!!!!(B>>
> $B!!!!(B>> Hi All:
> $B!!!!(B>>
> $B!!!!(B>> Now, I have enabled creating
thumbnail by dtdriver plugin on
> $B!!!!(B>> Linux. And it works well for helix
video plugins.
> $B!!!!(B>>
> $B!!!!(B>> But for some hardware accelerated
plugins, it can't work, and
> $B!!!!(B>> the video still showed on screen.
And those plugins don't
> $B!!!!(B>> decode one frame, but playback the
media content on screen.
> $B!!!!(B>>
> $B!!!!(B>> I think these may be bugs in those
plugins. And want to
> $B!!!!(B>> confirm from community.
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>> And by the way, how about this
method (create thumbnail by
> $B!!!!(B>> dtdriver plugins) works on Windows
system? Could it support
> $B!!!!(B>> hardware accelerated codecs?
> $B!!!!(B>>
> $B!!!!(B>> Thanks.
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>> ZHAO, Halley (Aihua)
> $B!!!!(B>>
> $B!!!!(B>> Email: halley.zhaointel.com
<mailto:aihua.zhaointel.com>
> $B!!!!(B>>
> $B!!!!(B>> Tel: +86(21)61166476
> $B!!!!(B>>
> $B!!!!(B>> iNet: 8821-6476
> $B!!!!(B>>
> $B!!!!(B>> SSG/OTC/UMD
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B>>
> $B!!!!(B
> 


_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

RE: another questions for creating thumbnail by dtdriver plugin
user name
2008-02-14 18:27:06
  I also think 2> is the better solution, and I have
tried to set StartTime to 100 (ms).
  rm datatype works well for it. But many other datatype
give invalid image, for example, mp4, h264, wmv.
  Seems there is problem when we don¨t' set StartTime to
0. or we can say that there is some problem for SetPosition
inside dtdriver.
   
  
  >-----Original Message-----
  >From: Eric Hyche [mailto:ehychereal.com]
  >Sent: 2008定2埖15晩 3:22
  >To: Zhao, Halley; helix-client-devhelixcommunity.org
  >Cc: 'Greg Wright'
  >Subject: RE: another questions for creating
thumbnail by dtdriver plugin
  >
  >
  >Halley,
  >
  >My responses inline below...
  >
  >=============================================
  >Eric Hyche (ehychereal.com)
  >Technical Lead
  >RealNetworks, Inc.
  >
  >> -----Original Message-----
  >> From: Zhao, Halley [mailto:halley.zhaointel.com]
  >> Sent: Thursday, February 14, 2008 5:04 AM
  >> To: ehychereal.com; helix-client-devhelixcommunity.org
  >> Cc: Greg Wright
  >> Subject: another questions for creating
thumbnail by dtdriver plugin
  >>
  >>   When I create thumbnail by dtdriver, we
will set some options.
  >>   1>
  >>   If we set the StartTime to 0, it will work
smoothly:
  >>
  >>
pOptions->SetPropertyULONG32(DECODEVIDEO_OPTION_NAME,
1);
  >>      
	pOptions->SetPropertyULONG32(BLOCK_OPTION_NAME, 1);
  >>
  >>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 5);
  >>      
	pOptions->SetPropertyULONG32("StartTime", 0);
  >>      
	pOptions->SetPropertyULONG32(DECODE_OPTION_NAME, 1);
  >>   but many streams has black video for the
first several frames.
  >
  >Often times many videos fade up from black in the
first few frames. You have
  >set a start time of 0ms, which will mean you get the
very first frame in
  >the
  >video. This is very often black.
  >
  >>   2>
  >>   So I try to set options as following: (set
StartTime to the
  >> 20th frame)
  >>
  >>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 1);
  >>      
	pOptions->SetPropertyULONG32("StartTime",
20);
  >>   however, we often got black video, it is
not expected, and
  >> not the true image of that frame.
  >
  >The value of "StartTime" is in
milliseconds, not frames.
  >
  >What branch are you building from, by the way? The
cayenne branch has
  >a slightly different behavior on thumbnails than
does the atlas branch. The
  >atlas
  >branch will attempt to give you the exact frame at
the time you ask for.
  >The
  >cayenne branch will give you the closest keyframe
prior to the time you ask
  >for.
  >
  >>   3>
  >>   If I tried parameter as following: (set
StartTime to 0, but
  >> decode 20 frames)
  >>
  >>
pOptions->SetPropertyULONG32(PROCESSTIMEUNITS_OPTION_NAME
, 20);
  >>      
	pOptions->SetPropertyULONG32("StartTime", 0);
  >>   we can get valid thumbnail, but we need
decode many frames,
  >> consume CPU a lot.
  >>
  >
  >You should always set PROCESSTIMEUNITS_OPTION_NAME
to 1 for
  >thumbnail generation.
  >
  >>   4> still another question, ogg stream
always fail to create
  >> thumbnail, but call back by lots of
OnPackets()
  >
  >You are getting OnPacket() callbacks from an ogg
theora stream? If
  >so, then is there some problem with those frame
packets?
  >
  >Eric
  >
  >>
  >>   Any suggestion.
  >>   Great thanks.
  >>
  >>   >-----Original Message-----
  >>   >From: Eric Hyche [mailto:ehychereal.com]
  >>   >Sent: 2008定2埖14晩 1:55
  >>   >To: Zhao, Halley; helix-client-devhelixcommunity.org
  >>   >Cc: 'Greg Wright'
  >>   >Subject: RE: some questions for
creating thumbnail by
  >> dtdriver plugin
  >>   >
  >>   >
  >>   >Halley,
  >>   >
  >>   >The dtdrive framework does thumbnail
generation by acting
  >> as a dummy
  >>   >video surface to the video renderers.
So the video renderers
  >>   >do a blt to the video surface and so
dtdrive is then able
  >>   >to capture that blt and return the
frame to the application.
  >>   >
  >>   >But this implies that the renderer is
actually returning
  >>   >real image bits for the frame.
Hardware-accelerated decoders
  >>   >would not be doing that - they would
just be returning
  >>   >a *reference* to the frame rather than
the actual frame
  >>   >bits.
  >>   >
  >>   >So the short answer is that no, you
would not be able
  >>   >to use dtdrive for thumbnail generation
with hardware
  >>   >accelerated decoders. At least not
without some modifications
  >>   >to dtdrive and/or the HW-acclerated
decoder.
  >>   >
  >>   >Eric
  >>   >
  >>
  >=============================================
  >>   >Eric Hyche (ehychereal.com)
  >>   >Technical Lead
  >>   >RealNetworks, Inc.
  >>   >
  >>   >> -----Original Message-----
  >>   >> From: Zhao, Halley
[mailto:halley.zhaointel.com]
  >>   >> Sent: Monday, February 04, 2008
5:00 AM
  >>   >> To: helix-client-devhelixcommunity.org
  >>   >> Cc: ehychereal.com; Greg Wright
  >>   >> Subject: some questions for
creating thumbnail by dtdriver plugin
  >>   >>
  >>   >> Hi All:
  >>   >>
  >>   >> Now, I have enabled creating
thumbnail by dtdriver plugin on
  >>   >> Linux. And it works well for helix
video plugins.
  >>   >>
  >>   >> But for some hardware accelerated
plugins, it can't work, and
  >>   >> the video still showed on screen.
And those plugins don't
  >>   >> decode one frame, but playback the
media content on screen.
  >>   >>
  >>   >> I think these may be bugs in those
plugins. And want to
  >>   >> confirm from community.
  >>   >>
  >>   >>
  >>   >>
  >>   >> And by the way, how about this
method (create thumbnail by
  >>   >> dtdriver plugins) works on Windows
system? Could it support
  >>   >> hardware accelerated codecs?
  >>   >>
  >>   >> Thanks.
  >>   >>
  >>   >>
  >>   >>
  >>   >>
  >>   >>
  >>   >> ZHAO, Halley (Aihua)
  >>   >>
  >>   >> Email: halley.zhaointel.com
<mailto:aihua.zhaointel.com>
  >>   >>
  >>   >> Tel: +86(21)61166476
  >>   >>
  >>   >> iNet: 8821-6476
  >>   >>
  >>   >> SSG/OTC/UMD
  >>   >>
  >>   >>
  >>   >>
  >>   >>
  >>
  >>
  

_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )