ho qualche codice di lavoro che consente di caricare un file video fino a YouTube:Ottenere un video da S3 e caricare su YouTube in PHP
$yt = new Zend_Gdata_YouTube($httpClient);
// create a new VideoEntry object
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();
// create a new Zend_Gdata_App_MediaFileSource object
$filesource = $yt->newMediaFileSource('file.mov');
$filesource->setContentType('video/quicktime');
// set slug header
$filesource->setSlug('file.mov');
Ho video in S3 e voglio caricarli su YouTube. Il video nel nostro account S3 è pubblico, quindi posso usare un comando come wget. Devo eseguire un comando che automatizza il file video e lo scarica localmente prima di eseguire questo script (shell_exec("wget ".$s3videoURL)
)?
O dovrei provare ad inserire MediaFileSource come URL del file S3 stesso?
Principalmente, ho solo bisogno di stabilità (non una soluzione soggetta a frequenti timeout); la velocità e l'archiviazione locale non sono molto importanti (posso eliminare localmente il file video una volta che è stato caricato).
Quale sarebbe il modo migliore per farlo?
Grazie!
Aggiornamento: probabilmente dovrei menzionare che questo script caricherà circa 5 video su YouTube per esecuzione.
Grazie. Mi hai salvato il tempo :). – BCoder
Nel caso in cui qualcuno si imbattesse in problemi cercando di semplificare questo, è necessario aggiungere il blocco al buffer pezzo a causa della limitazione di fread in php da posizioni remote. Da php.net: " Avviso Durante la lettura da qualsiasi cosa che non sia un normale file locale, come gli stream restituiti durante la lettura di file remoti o da popen() e fsockopen(), la lettura si fermerà dopo che un pacchetto è disponibile. Ciò significa che dovresti raccogliere i dati insieme in blocchi come mostrato negli esempi qui sotto. " – bertmaclin