Is it possible to Encode a video using ON2's VP6 codec

389 views
Skip to first unread message

declan

unread,
Jun 24, 2009, 4:29:57 AM6/24/09
to xuggler-users
Hi

I know that out of the box ffmpeg and therefore xuggle does not
support encoding videos using ON2's VP6 codec. I know it does support
decoding videos that use this codec.

I imagine this is because this codec is ON2's own proprietary codec
and they require you to purchase or licence this codec before you can
encode videos using VP6.

My question is that if we licence this codec off ON2 for example by
purchasing their flix engine, is it possible to get ffmpeg and thus
xuggle to be able to encode a video using this codec?

Would this require a custom build of ffmeg and xuggle?

I currently have a fully licenced version of ON2's flix engine which
supports encoding videos using the VP6 codec. The engine installation
has supplied their own versions of libavcodec.so, libavformat.so,
libmp3lame.so and libavutil.so.

Is there a way to get xuggle to use these versions of these librarys
for encoding? Would xuggle work well if I linked to these libraries
when building xuggle? Or is their another way of doing this?

There is a lot of major flash sites use this codec as it gives very
good compression for flash videos. We would like to encode these flash
videos using the same codec if posible.

Appreciate any feedback on this.

Declan

Art Clarke

unread,
Jun 24, 2009, 11:46:25 AM6/24/09
to xuggle...@googlegroups.com
Hi Declan,

On Wed, Jun 24, 2009 at 1:29 AM, declan <harriso...@googlemail.com> wrote:

My question is that if we licence this codec off ON2 for example by
purchasing their flix engine, is it possible to get ffmpeg and thus
xuggle to be able to encode a video using this codec?

I don't know.  I suspect ON2 requires a separate license if you want to integrate the ON2 encoder into a library.
 

Would this require a custom build of ffmeg and xuggle?

Yes, either of FFmpeg or Xuggler (we can actually have codecs in Xuggler that are not part of the FFmpeg build).


I currently have a fully licenced version of ON2's flix engine which
supports encoding videos using the VP6 codec. The engine installation
has supplied their own versions of libavcodec.so, libavformat.so,
libmp3lame.so and libavutil.so.

I doubt that ON2's version of libavcodec.so, etc., actually has modified FFmpeg to add their codec (they probably have a separate shared library that uses av_register_codec at runtime to dynamically insert their implementation), and so loading those libav* shared libraries are unlikely to give you what you want, but...
 

Is there a way to get xuggle to use these versions of these librarys
for encoding? Would xuggle work well if I linked to these libraries
when building xuggle?  Or is their another way of doing this?

Yes, provided (a) you have the header files for those libraries and (b) you build Xuggler "the hard way".  See our build section, and advanced build section for how to disable our "captive" FFmpeg version and instead use a different version.
 
- Art


--
http://www.xuggle.com/
xu‧ggle (zŭ' gl) v. To freely encode, decode, and experience audio and video.

Use Xuggle to get the power of FFMPEG in Java.

declan

unread,
Jun 25, 2009, 6:39:59 AM6/25/09
to xuggler-users
Hi Art

Just checked the install of ON2's flix engine on my Linux box. It
does alos include a number of include files including one for VP6 and
one VP6 Alpha see below for more details.

I have already downloaded and built a later version of the Xuggler
"Tip of Tree" (r700) for another unrelated issue you fixed see
http://code.google.com/p/xuggle/issues/detail?id=165.

I will take a look at trying this in the next few days.

Thanks
Declan

./include/flixengine2/codecs/vp6_alpha.h
./include/flixengine2/codecs/h264.h
./include/flixengine2/codecs/vp6.h
./include/flixengine2/codecs/lame.h
./include/flixengine2/codecs/codec_common.h
./include/flixengine2/codecs/h263.h
./include/flixengine2/on2types.h


On Jun 24, 4:46 pm, Art Clarke <acla...@xuggle.com> wrote:
> Hi Declan,
>
> --http://www.xuggle.com/

Mondain

unread,
Jun 25, 2009, 3:01:50 PM6/25/09
to xuggle...@googlegroups.com
This would be very-cool to get working! Since live and recorded VP6 already works great in Red5. Normally I have to use mencoder to do X to VP6 transcoding.

Paul

declan

unread,
Aug 10, 2009, 11:44:28 AM8/10/09
to xuggler-users
Hi Art

In an earlier dialog above you said that we can have Xuggler encode
video using codecs that ffmpeg doesnt have or have these codecs added
to ffmpeg. Do you have any documentation on how we can build support
for other codecs if we have the include files for the codec.

I have only got round to doing this now.

Thanks
Declan


On Jun 25, 8:01 pm, Mondain <mond...@gmail.com> wrote:
> This would be very-cool to get working! Since live and recorded VP6 already
> works great in Red5. Normally I have to use mencoder to do X to VP6
> transcoding.
> Paul
>

Art Clarke

unread,
Aug 10, 2009, 12:11:48 PM8/10/09
to xuggle...@googlegroups.com
Nope, no documentation, sorry.  The basic approach involves C++ or C code, creating an AVCodecContext object to wrap your actual codec, and then registering with FFmpeg.  See the libspeexenc.c code in build/native/{your-os}/captive/ffmpeg/csrc/libavcodec for an example where I added Speex encoding support.

- Art
--
http://www.xuggle.com/
xu‧ggle (zŭ' gl) v. To freely encode, decode, and experience audio and video.

Use Xuggle to get the power of FFmpeg in Java.
Reply all
Reply to author
Forward
0 new messages