thiva7 Δημοσ. 17 Ιουλίου 2013 Share Δημοσ. 17 Ιουλίου 2013 (επεξεργασμένο) Γεια σας θα ηθελα την βοηθεια σας για ενα σιτε που εχω... θελω να περνω βιντεο απο το Dailymotion και να το βαζω στο δικο μου σιτε. πιο αναλυτικα στο σκριπ που δουλευω εχω την δυνατοτητα βαζοντας απλα το λινκ απο τα υποστηριζομενα σιτε να περνω τα βιντεο στο σερβερ μου και να τα hostαρο εγω. μεσα σε αυτα δεν ειναι το Dailymotion ομως προσπαθησα να φτιαξω εγω κωδικα με την ελαχιστες γνωσεις που εχω αλλα απετηχα ( οπως ηταν αναμενομενο ) καταφερα ομως βασιζομενος στο υπαρχων κωδικα απο τα αλλα σιτε να περνω τιτλο και περιγραφη απο το Dailymotion αλλα οχι το λινκ του βιντεο. ο κωδικας ειναι αυτος <?php defined('_VALID') or die('Restricted Access!'); class VGraber_dailymotion { private $url; private $html; private $video; private $error = FALSE; private $errors = array( 'html_error' => 'Failed to get html for the requested url!', 'title_error' => 'Failed to get video title!', 'category_error' => 'Failed to get video category!', 'file_Error' => 'Failed to get video file!' ); public function __construct($url) { $this->url = $url; } public function process() { $this->get_html($this->url); if (!$this->error) { $this->video['title'] = $this->get_title(); $this->video['description'] = $this->get_description(); $this->video['tags'] = $this->get_tags(); $this->video['category'] = $this->get_category(); $this->video['file'] = $this->get_file(); $this->video['size'] = $this->get_size(); } } public function get_video() { return $this->video; } public function get_html($url) { if (!$this->html = VCurl::string($url, 'iVisited=1; cookAV=1')) { $this->error = $this->errors['html_error']; } $this->html = str_replace(array("\n", "\r"), '', $this->html); $this->html = preg_replace('/\s\s+/', ' ', $this->html); } public function is_error() { return ($this->error) ? TRUE : FALSE; } public function get_error() { return $this->error; } private function get_title() { // preg_match('/<h2 style="margin: 5px;">(.*?)<\/h2>/', $this->html, $match); preg_match('/<title>(.*?)<\/title>/', $this->html, $match); if (isset($match['1']) && $match['1']) { $string = htmlspecialchars(strip_tags(trim($match['1'])), ENT_QUOTES, 'UTF-8'); if (!empty($string)) { return $string; } } $this->error = $this->errors['title_error']; } private function get_description() { return ''; } private function get_tags() { preg_match('/<strong>Tags:<\/strong>(.*?)<\/div>/', $this->html, $match); if (isset($match['1']) && !empty($match['1'])) { preg_match_all("/<a href='(.*?)'>(.*?)<\/a>/", $match['1'], $matches); if (isset($matches['2']) && $matches['2']) { return $matches['2']; } } } private function get_category() { return ''; } private function get_file() { preg_match('/<iframe src=\'http:\/\/www\.Dailymotion\.com\/videos\/embed\/(.*?)\' frameborder=\'0\'/', $this->html, $match); if (isset($match['1']) && $match['1']) { $html = VCurl::string('http://www.Dailymotion.com/videos/embed/'.$match['1']); if ($html) { preg_match('/so.addVariable\("file",encodeURIComponent\("(.*?)"\)\);/', $html, $match); if (isset($match['1']) && $match['1']) { return urldecode(trim($match['1'])); } } } return FALSE; } private function get_size() { if (isset($this->video['file'])) { return VCurl::size($this->video['file']); } } } με αυτο το κωδικα περνω τιτλο κανονικα αλλα δεν περνω λινκ για το source του βιντεο πχ ¨http://proxy-56.dailymotion.com/sec(d8b2a55e80f42b139e67ecfb5ba05b50)/frag(3)/video/277/944/17449772_mp4_h264_aac.flv μου βγαζει απλα κενο αντι για ενα τετοιο λινκ Ευχαριστω Επεξ/σία 17 Ιουλίου 2013 από thiva7 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mammou Δημοσ. 19 Ιουλίου 2013 Share Δημοσ. 19 Ιουλίου 2013 Καλημέρα Δοκίμασε το παρακάτω <br><object width="760" height="461"><param name="movie" value="http://www.dailymotion.com/swf/video/***?autoplay=0&logo=0&hideInfos=1&start=0&syndication=&foreground=&highlight=&forcedQuality=hd1080"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><param name="wmode" value="transparent"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/***?autoplay=0&logo=0&hideInfos=1&start=0&syndication=&foreground=&highlight=&background=" width="760" height="461" wmode="transparent" allowfullscreen="true" allowscriptaccess=""></embed></object><br /> Όπου *** θα πρέπει να βάλεις από το Permalink (ανοίγει στο εξαγωγή) μόνο το κομμάτι που σου έχω κοκκινίσει:http://dai.ly/x11ws8o Δηλαδή: <br><object width="760" height="461"><param name="movie" value="http://www.dailymotion.com/swf/video/x11ws8o?autoplay=0&logo=0&hideInfos=1&start=0&syndication=&foreground=&highlight=&forcedQuality=hd1080"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><param name="wmode" value="transparent"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/x11ws8o?autoplay=0&logo=0&hideInfos=1&start=0&syndication=&foreground=&highlight=&background=" width="760" height="461" wmode="transparent" allowfullscreen="true" allowscriptaccess=""></embed></object><br /> Tο width & height ρύθμισέ το ανάλογα με τις διαστάσεις του video και το forcedQuality=hd1080 ανάλογα με την ποιότητα που σου δίνει. Ελπίζω να βοήθησα! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
thiva7 Δημοσ. 21 Ιουλίου 2013 Μέλος Share Δημοσ. 21 Ιουλίου 2013 Ευχαριστω για την απαντηση αλλα αυτο δεν ειναι για embed? εγω δεν θελω να κανω embed τα βιντεο, θελω να περνω το flv/mp4 αρχειο στο δικο μου σερβερ και να το streamαρο εγω. καμια βοηθεια για αυτο? Ευχαριστω Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα