2012-09-27 14 views
28

का उपयोग कर फेसबुक में एक एम्बेडेड एमपी 4 वीडियो को वापस चलाकर साझा करना मेरे पास एक H.264-एन्कोडेड एमपी 4 फ़ाइल है जिसे मैं एक फेसबुक पोस्ट में एम्बेड करने की कोशिश कर रहा हूं, जब पेज की सेवा करने वाले पेज को पसंद या साझा किया जाता है।फ्लैश

मेरी समझ यह है कि मुझे बस उस URL पर have the right Open Graph <meta> tags in place की आवश्यकता है जिसे साझा/साझा किया जा रहा है। हालांकि, मैंने <meta> टैग के कई अलग-अलग सेटों की कोशिश की है और जब भी मैं अपने स्टेटस अपडेट में यूआरएल पेस्ट करता हूं और इसे पोस्ट करता हूं तो वीडियो अभी भी एम्बेड नहीं होता है। यह og:image संपत्ति से छवि को एम्बेड करता है, लेकिन छवि पर क्लिक करने से उपयोगकर्ता को og:url पर भेज दिया जाता है।

जब मैं Facebook Debugger tool उपयोग करते हैं, यहाँ क्या इसके लिए कच्चे ओपन ग्राफ़ दस्तावेज़ सूचना प्रदर्शित करता है:

Meta Tag: <meta property="fb:app_id" content="000000000000000" /> 
Meta Tag: <meta property="og:url" content="http://www.testdomain.com/path/to/shared/page" /> 
Meta Tag: <meta property="og:title" content="Example Page" /> 
Meta Tag: <meta property="og:description" content="Example Description" /> 
Meta Tag: <meta property="og:site_name" content="Example" /> 
Meta Tag: <meta property="og:image" content="http://content.example.com/images/example.png" /> 
Meta Tag: <meta property="og:type" content="video.other" /> 
Meta Tag: <meta property="og:video:width" content="400" /> 
Meta Tag: <meta property="og:video:height" content="300" /> 
Meta Tag: <meta property="og:video" content="http://static.example.com/flowplayer-3.2.15.swf?config=%7b%22clip%22%3a%22http%3a%2f%2fcontent.example.com%2fpath%2fto%2fvideo.mp4%3fv%3d0%22%7d" /> 
Meta Tag: <meta property="og:video:type" content="application/x-shockwave-flash" /> 
Meta Tag: <meta property="og:video" content="http://content.example.com/path/to/video.mp4?v=0" /> 
Meta Tag: <meta property="og:video:type" content="video/mp4" /> 
Meta Tag: <meta property="og:video" content="http://www.testdomain.com/path/to/shared/page" /> 
Meta Tag: <meta property="og:video:type" content="text/html" /> 

मूल्यों ऊपर डमी मानों से बदल दिया है, लेकिन वे सभी वैध लिंक कर रहे हैं।

फेसबुक सही ढंग से इस पार्स आउट कर, क्योंकि यह शेयर की प्रकार के नीचे से पता चलता है -> वीडियो:

status: Video embedding on Facebook enabled 
1: application/x-shockwave-flash 
2: text/html 

जब मैं फ़्लैश प्लेयर यूआरएल (http://static.example.com/flowplayer-3.2.15.swf?config=%7b%22clip%22%3a%22http%3a%2f%2fcontent.example.com%2fpath%2fto%2fvideo.mp4%3fv%3d0%22%7d) पर सीधे जाने, वीडियो सही ढंग से निभाता है (फ़्लैश प्लेयर में एम्बेडेड)।

बातें मैं कोशिश की है/माना:

छोड़ा जा रहा है फ़्लैश प्लेयर

मूल रूप से मैं भी og:video सूची में एक फ़्लैश प्लेयर नहीं था और सिर्फ पहली mp4 फ़ाइल का उपयोग करने की कोशिश कर रहा था । फेसबुक ने इसे नहीं उठाया और सादे लिंक शेयर के रूप में पसंद/साझा किया।

श्वेत सूची बनाती एक बिंदु क्षुधा पर/डोमेन जा श्वेत सूची में पहले एम्बेडेड वीडियो की अनुमति दी थी करना पड़ा। This is no longer necessary। मैंने अपने डोमेन को श्वेतसूची नहीं दी है।

HTTPS

कुछ सूत्रों का कहना है कि फ़्लैश प्लेयर इस्तेमाल किया जा रहा जरूरतों HTTPS पर आयोजित होने। मेरा शोध इंगित करता है कि यह केवल तभी लागू होना चाहिए जब उपयोगकर्ता HTTPS पर फेसबुक ब्राउज़ कर रहा हो, जिसे मैं परीक्षण करते समय नहीं कर रहा था।

मैं वर्तमान में किसी भी एचटीटीपीएस द्वारा प्रदत्त फ़्लैश प्लेयर के साथ कुछ परीक्षण चला रहा हूं यह देखने के लिए कि कुछ भी बदलता है या नहीं।

पुराने टैग

की बिल्ली के लिए, मैं adding older Facebook<meta> और <link> टैग (उदा title, video_src) की कोशिश की देखने के लिए अगर यह उन्हें लेने जाएगा। यह नहीं था।

कैश ताज़ा

मैं फेसबुक डीबगर में URL सुनिश्चित करें कि URL का संचित संस्करण को मंजूरी दे दी हो गया बनाने के लिए के साथ एक ?fbrefresh=1 पारित कर दिया। इसके परिणामस्वरूप नवीनतम मेटा जानकारी खींच रही है, लेकिन अभी भी कोई एम्बेड नहीं है।

आईपैड

के बाद से मैं अपने og:video टैग में video/mp4 फ़ॉलबैक मिल गया है, मैं iPad ऐप्लिकेशन में मेरे Facebook समाचार फ़ीड को देखा। उत्साहजनक रूप से, थंबनेल छवि पर थोड़ा प्ले बटन ओवरलेड था। हालांकि, प्ले बटन को छूने के परिणामस्वरूप वीडियो इनलाइन खेलने के बजाय शेयर यूआरएल पर रीडायरेक्ट हुआ। आईपैड पर सफारी का एक ही व्यवहार था (लेकिन बिना प्ले बटन ओवरले के)।

दस्तावेज़ नामस्थान

मैं अपने मार्कअप करने के लिए उपयुक्त ओपन ग्राफ़/फेसबुक नामस्थान कहा:

<html xmlns:og="http://ogp.me.ns#" xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# video: http://ogp.me/ns/video#"> 

लेकिन यह एक प्रभाव है नहीं मालूम था। मुझे नहीं लगता कि वे आवश्यक हैं।


क्या ऐसा कुछ है जो मैं यहां याद कर रहा हूं? मुझे लगता है कि अब तक बहुत सारे संसाधनों को पुराना हो सकता है क्योंकि फेसबुक ने कई बार अपनी एपीआई बदल दी है, इसलिए यह संभव है कि मुझे एक नई आवश्यकता याद आ गई है।

मैं फेसबुक टाइमलाइन के भीतर एम्बेड और प्ले करने के लिए वीडियो कैसे प्राप्त कर सकता हूं?


YouTube के og: मेटा टैग पर एक नज़र के बाद, अंतर केवल मैं देख सकते हैं:

  1. YouTube के og:url और og:video एक ही डोमेन और उप डोमेन (www.youtube.com) से सेवा कर रहे हैं। मेरा एक ही डोमेन से परोसा जाता है, लेकिन विभिन्न सबडोमेन (मीडिया: content.example.com, प्लेयर: static.example.com)। क्या सबडोमेन को og: मेटा जानकारी के सभी में सैम होना चाहिए?
  2. YouTube के URL साझा करें एक सीधे .swf नहीं है दर असल, लेकिन यह फ़्लैश सामग्री है:

    [email protected]:~$ curl "http://www.youtube.com/v/oHg5SJYRHA0?version=3&autohide=1" > yt 
        % Total % Received % Xferd Average Speed Time Time  Time Current 
               Dload Upload Total Spent Left Speed 
    100 4242 100 4242 0  0 43522  0 --:--:-- --:--:-- --:--:-- 55815 
    [email protected]:~$ file yt 
    yt: Macromedia Flash data (compressed), version 10 
    

बस महसूस किया कि मेरे किसी यूआरएल से एक अलग डोमेन पर वास्तव में है। मुझे लगता है कि अपराधी है। मैं इसे आजमाने के लिए कुछ सामान ले जा रहा हूं। मैंने ऊपर अपना मेटा टैग डेटा अपडेट किया है। इस अवलोकन को आगे बढ़ाने के लिए थोड़ा भेड़िया महसूस करें।

+0

आप समय में इस तरह एक खिलाड़ी एम्बेड नहीं कर सकते। आपको अपना खुद का वीडियो प्लेयर विकसित करना होगा और फीड स्टोरी में 'swf' पोस्ट करना होगा। – Lix

+0

@Lix - मुझे उत्सुकता है कि यह अलग कैसे होगा; मैं वहां क्या करूँगा जो फ्लोप्लेयर पहले से ही कुछ ऐसा कर रहा है: एमपी 4 यूआरएल के साथ फ्लैशवायर लें और इसे वापस चलाएं। क्या आप शायद उस पर विस्तार कर सकते हैं जिसका मतलब है? मुझे फ़्लैश की बहुत अच्छी समझ नहीं है, इसलिए मैं शायद जो कह रहा हूं उसे गलत व्याख्या कर रहा हूं। –

+0

मैंने फ्लोप्लेयर के साथ काम नहीं किया है, लेकिन मुझे लगता है कि यह किसी अन्य ओपन सोर्स प्लेयर से अलग नहीं है। मेरा मतलब है कि आपका एसडब्ल्यूएफ ** आंतरिक रूप से ** वीडियो फ़ाइल लोड करना है - आप इसके लिए फ्लैशवर्स का उपयोग कर सकते हैं, लेकिन एसएफएफ के यूआरएल में भी पथ हो सकता है ... फेसबुक की तरफ, वे सब एक एसडब्ल्यूएफ देखेंगे। वास्तव में एसडब्ल्यूएफ क्या करता है आप पर निर्भर करता है। – Lix

उत्तर

21

यहां मेरे लिए काम करना समाप्त हो गया है।

<!-- These two aren't necessary for embedding. --> 
<meta property="og:site_name" content="Example"> 
<meta property="fb:app_id" content="000000000000000"> 

<!-- These are mostly needed. A few are probably still optional, but they're all good to have. --> 
<meta property="og:type" content="movie"> 
<meta property="og:title" content="Example Page"> 
<meta property="og:description" content="Example Description"> 
<meta property="og:url" content="http://www.testdomain.com/path/to/shared/page"> 
<meta property="og:image" content="http://content.example.com/images/example.png"> 
<meta property="og:video" content="http://static.example.com/player.swf?file=http%3a%2f%2fcontent.example.com%2fpath%2fto%2fvideo.mp4%3fv%3d0&amp;autoplay=true"> 
<meta property="og:video:type" content="application/x-shockwave-flash"> 

<!-- Not necessary, but might (can't find up-to-date docs) be used for iOS fallback. --> 
<meta property="og:video" content="http://content.example.com/path/to/video.mp4?v=0"> 
<meta property="og:video:type" content="video/mp4"> 

कुछ टिप्पणियों और उपयोगी जानकारी:

फ़्लैश प्लेयर

  • मैं JWPlayer उपयोग करने के लिए बंद कर के बाद से अपनी क्वेरी पैरामीटर flashvars विन्यास था थोड़ा FlowPlayer से अधिक आसान है। मुझे लगता है कि मैं थोड़ा और प्रयास के साथ काम करने के लिए FlowPlayer प्राप्त कर सकता था। जेडब्लूप्लेयर में nice instructional page for Facebook embedding भी है। (नोट: कई Flash खिलाड़ियों वाणिज्यिक उपयोग के लिए एक खरीदा लाइसेंस की आवश्यकता होती - सुनिश्चित करें कि आप यदि आवश्यक हो तो एक हो सकते हैं।)

ओपन ग्राफ़ <meta> टैग

  • फिल्म के लिए के लिए काम किया का उपयोग करना og:type। मैं मूल रूप से video और video.other का उपयोग कर रहा था। वे शायद काम भी करते हैं, लेकिन फिल्म का उपयोग करके निश्चित रूप से मेरे लिए काम किया।
  • निम्नलिखित og: गुण नहीं आवश्यक थे एम्बेड करने के लिए: fb:app_id, og:video:width, og:video:height
  • URLEncodedfile क्वेरी पैरामीटर पर ध्यान दें। ऐसा करने की आवश्यकता काफी स्पष्ट होनी चाहिए, लेकिन पैरामीटर मानों को अलग से एन्कोड करने के लिए ध्यान रखें। एम्पर्सेंड (&) autoplay=true से पहले पेज मार्कअप में जोड़े जाने से पहले XMLEncoded था। फेसबुक डीबगर के "ऑब्जेक्ट प्रॉपर्टीज" सेक्शन में इसे देखते समय एम्परसैंड को सही ढंग से डीकोड किया गया था।
  • सामग्री को होस्ट करना और पर साझा यूआरएल अलग-अलग सबडोमेन से कोई फर्क नहीं पड़ता। एकमात्र डोमेन चिंताओं कि समस्याएं फ़्लैश प्लेयर के भीतर ही हो सकती हैं, और सामग्री सर्वर पर सही ढंग से कॉन्फ़िगर किए गए crossdomain.xml से बचा जा सकता है।

फेसबुक डीबगर उपकरण टिप्पणियों

  • Debugger Tool के अनुभाग "शेयर के प्रकार" था थोड़ा भ्रामक: video यह यह क्या पता चला जब मैं दोनों application/x-shockwave-flash और video/mp4 प्रकार था । मुझे उम्मीद है कि इस सूची में दो आइटम होंगे, लेकिन यह सिर्फ दूसरा था। इसके बावजूद, फ़्लैश प्लेयर अभी भी एम्बेडेड है।
  • मैं शुरू में सोच रहा था कि अगर फेसबुक जब मैंने देखा कि यह सब कुछ यूनिकोड के रूप में प्रतिनिधित्व दिखाया जा रहा था urlencoded मानकों के साथ पकड़ा हो रही किया गया था: unicorn^H^Hde हालांकि, लग रहा है कि एक समस्या नहीं है की तरह। इसे भ्रमित मत होने दें।

HTTPS

  • कोड ऊपर https फेसबुक ब्राउज़िंग के साथ एम्बेड नहीं है। इसके अतिरिक्त, og:video:secure_url मेटा संपत्ति (maybe due to this) काम नहीं कर सका। मैं जो कर रहा था वह फ्लैश प्लेयर और दोनों स्रोतों पर https के स्रोत mp4 file पैरामीटर की सेवा कर रहा था। जिसके परिणामस्वरूप मेटा टैग की तरह कुछ देखा:

    <meta property="og:video" content="https://static.example.com/player.swf?file=https%3a%2f%2fcontent.example.com%2fpath%2fto%2fvideo.mp4&amp;autostart=true" /> 
    

    og:video केवल एक ही है कि https पर होने की जरूरत थी; og:image, og:url, आदि अभी भी http पर परोसा जा रहा था।

उम्मीद है कि इस मदद करेंगे दूसरों मृत समाप्त होता है और लाल herrings कि मैं जबकि डिबगिंग में पड़ गए और इस सब के बारे में सीखने से बचें।

4

FYI करें वीडियो/mp4 2014

में यहां वर्तमान में मान्य this page (Ctrl-F mp4) पर उपलब्ध कराई गई मेटा देखें:

1

की तरह फेसबुक केवल आवेदन को स्वीकार/x-Shockwave फ़्लैश या वीडियो लगता है/एमपी 4 टेक्स्ट/एचटीएमएल नहीं।

वीडियो का एमआईएमई प्रकार। या तो आवेदन/एक्स-शॉकवेव-फ्लैश या वीडियो/एमपी 4।

https://developers.facebook.com/docs/sharing/webmasters