• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Quicktime Encoder help
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quicktime Encoder help


  • Subject: Re: Quicktime Encoder help
  • From: Brad Ford <email@hidden>
  • Date: Thu, 6 Aug 2009 10:57:02 -0700


On Aug 6, 2009, at 6:40 AM, aruna nagaraj wrote:

Hello,

This is related to quicktime API .I had posted these queries in the
quicktime-api list but there was no response . In case some one knows
about the below in this list please let me know .

I am sending video between two applications. I am having the below
problems, please can anyone help
me with some pointers for the same:

1) I am using Sequence grabber to capture the video and using
quicktime api EncodeFrame  to encode it to H264 format and then
transmit to the other end .The encoded frame has 4 to 5  NAL units and
the size of each NAL
varies . The UDP packet size should not exceed 1400 bytes . As the
other end cannot reassemble the Fragment units ( Single NAL mode), I
cannot use FU-A fragmentation for transmission of packets .
Please let me know if there is a way to control the NAL unit size in
the encoder through any of the Quicktime API's or any other means ? I
tried using the SGSetPrefereedPacketSize but still the size of the NAL
is the same .

The sequence grabber does not support compression sessions. Internally it uses a compression sequence if it needs to encode video. The compression sequence api is older than compression session, and not b-frame aware, so it cannot do h264+b-frames. It can do IP only baseline h264. You can control the data rate, but not the size of individual NAL units.


If you wish to have finer grain control over video encoding, I suggest you use Sequence Grabber as a sourcer. Request no video encode -- get the frames in their device native format. Then use a video decompression session to decompress them (if necessary) and a compression session to encode them. Take a look at CaptureAndCompressIPBMovie sample code from developer.apple.com. The downside of this approach is that you won't get Sequence Grabber's help with a/v sync, but it sounds like that's not a big issue for you, since you're not writing to a file -- you're packetizing for streaming.

You might also look into QTKit Capture API's. The compression options are not as rich overall, but it can produce h264 video with b-frames with less work on your part. None of our API's allow a user to specify max size of an individual NAL unit.

-Brad Ford
QuickTime Engineering


2) Can compression sequence be used for H264 encoding ? In few of the blogs it is suggested to use compression session for H264 encoding , is this correct ?Guess if sequence is used then there is a API to set the Preferred packet size but I have not come across such a option for session.

 3) I want to capture the desktop (content sharing)and send to the
other end , please suggest how to go
about it. I have seen a sample application doing this by using openGL
.Is there any other means to do ?



Thanks in advance,
Aruna
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Quicktime Encoder help (From: aruna nagaraj <email@hidden>)

  • Prev by Date: Re: ExtAudioFileSetProperty( kExtAudioFileProperty_FileDataFormat ) returns error 1718449215
  • Next by Date: Re: Questions regarding output from afinfo
  • Previous by thread: Quicktime Encoder help
  • Next by thread: Questions regarding output from afinfo
  • Index(es):
    • Date
    • Thread