Using the youtube_uploader module, how do I upload the video as private, without hacking the module I have been able to achieve what I need by changing the module here:

function youtube_uploader_get_settings_form() {
  $ret['youtube_uploader_publishing_options'] = array(
    '#type' =&gt; 'radios',
    '#title' =&gt; t('Default privacy options'),
    '#description' =&gt; t('More info on !here', array('!here' =&gt; l(t('YouTube support page'), 'http://support.google.com/youtube/bin/answer.py?hl=en&amp;answer=157177'))),
    '#options' =&gt; array('public' =&gt; t('Public'), 'unlisted' =&gt; t('Unlisted'), 'private' =&gt; t('Private')),
    '#default_value' =&gt; strtolower(variable_get('youtube_uploader_publishing_options', 'unlisted')),
  );
  //Added: 'private' =&gt; t('Private') - being the added code.
}


How do I achieve this without hacking the module?
hook_form_alter() is what you're looking for. This function, when invoked in any module, will let you modify any form array created/rendered by Drupal's form API. For example, in a module named mymodule you could add the following function in mymodule.module.

function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  //modify youtube_uploader_get_settings_form to add Private to #options array
  if($form_id == 'youtube_uploader_get_settings_form') {
    $form['youtube_uploader_publishing_options']['#options']['private'] = t('Private');
  }
}




function xxxx_custom_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ($form_id == 'field_ui_field_edit_form' &amp;&amp; isset($form['instance']['settings']['youtube_settings']['youtube_uploader_publishing_options'])) {
    $privateOptions = array('public' =&gt; t('Public'), 'unlisted' =&gt; t('Unlisted'), 'private' =&gt; t('Private'));
    $form['instance']['settings']['youtube_settings']['youtube_uploader_publishing_options']['#options'] = $privateOptions;
  }
}