ฉันจะโพสต์ GIF แบบเคลื่อนไหวบน Facebook ได้อย่างไร


22

เพื่อนโพสต์รูปภาพที่เคลื่อนไหวโดยตรงในฟีดข้อความบนหน้าเริ่มต้น Facebook ของฉัน เป็นไปได้อย่างไร? สิ่งนี้สามารถทำได้?

นี่คือ URL ที่ใช้โดย Facebook: http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716489814_5773694_3162803_s.jpg

เป็นรูป GIF ที่เพิ่งเปลี่ยนชื่อ.jpgหรือไม่? อาจจะไม่.

ฉันไม่รู้ว่ามันช่วยหรืออะไร แต่นี่คือส่วน (สคริปต์) ที่มี URL ภาพนั้น:

<script>big_pipe.onPageletArrive({"phase":4,"id":"pagelet_photo_bar","css":["aes1F","FPnMi"],"js":["Py8xV","1k++i","9qrJd"],"onload":["PhotoTheater.init(HTML(\"\\u003cdiv id=\\\"fbPhotoTheater\\\" class=\\\"fbPhotoTheater hidden_elem narrowerWhiteBar\\\" tabindex=\\\"0\\\" role=\\\"region\\\" aria-label=\\\"Facebook-Diashow\\\" aria-busy=\\\"true\\\">\\u003cdiv class=\\\"container\\\">\\u003cdiv class=\\\"positioner\\\">\\u003ca class=\\\"uiTooltip closeTheater\\\" href=\\\"#\\\">\\u003ci class=\\\"closeImage img sp_6lzo0r sx_bbf9a4\\\">\\u003c\\\/i>\\u003cspan class=\\\"uiTooltipWrap middle left leftmiddle\\\">\\u003cspan class=\\\"uiTooltipText uiTooltipNoWrap\\\">Schlie\\u00dfen\\u003c\\\/span>\\u003c\\\/span>\\u003c\\\/a>\\u003c\\\/div>\\u003cdiv class=\\\"stageBackdrop\\\">\\u003c\\\/div>\\u003cdiv class=\\\"stageWrapper\\\">\\u003cdiv class=\\\"stage\\\">\\u003cimg src=\\\"\\\/images\\\/loaders\\\/indicator_black.gif\\\" class=\\\"spotlight\\\" \\\/> \\u003cdiv class=\\\"fbPhotosTheaterTags tagContainer\\\" id=\\\"fbPhotoTheaterTags\\\">\\u003cdiv class=\\\"tagsWrapper\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"videoStage\\\"> \\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterError\\\" class=\\\"fbPhotoTheaterError hidden_elem stageError\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"stageActions\\\" id=\\\"fbPhotoTheaterStageActions\\\">\\u003ca class=\\\"prev\\\" href=\\\"#\\\" title=\\\"Zur\\u00fcck\\\">\\u003c\\\/a>\\u003ca class=\\\"next\\\" href=\\\"#\\\" title=\\\"Weiter\\\">\\u003c\\\/a>\\u003cdiv class=\\\"fbPhotoTheaterButtons\\\" id=\\\"fbPhotoTheaterButtons\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"photoInfoWrapper\\\">\\u003ctable class=\\\"uiGrid fbPhotoTheaterGrid photoInfo\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\u003ctbody>\\u003ctr>\\u003ctd class=\\\"vTop detailsCell\\\">\\u003cdiv class=\\\"detailsContainer\\\">\\u003cdiv id=\\\"fbPhotoTheaterTitle\\\">\\u003c\\\/div>\\u003cspan id=\\\"fbPhotoTheaterContributors\\\">\\u003c\\\/span> \\u003cspan class=\\\"fsm fwn fcg\\\" id=\\\"fbPhotoTheaterCount\\\">\\u003c\\\/span>\\u003chr class=\\\"mvm\\\" \\\/>\\u003cdiv id=\\\"fbPhotosTheaterActions\\\" class=\\\"fbPhotosTheaterActions\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop commentsCell\\\">\\u003cdiv class=\\\"commentsContainer\\\">\\u003cdiv class=\\\"fbPhotosTaglist mbm tagpile\\\" id=\\\"fbPhotosTaglist\\\">\\u003cspan class=\\\"caption fsm fwn fcg\\\">Auf diesem Foto: \\u003c\\\/span>\\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterUfi\\\">\\u003cform rel=\\\"async\\\" class=\\\"commentable_item autoexpand_mode\\\" method=\\\"post\\\" action=\\\"\\\/ajax\\\/ufi\\\/modify.php\\\" onsubmit=\\\"return Event.__inlineSubmit(this,event)\\\">\\u003cinput type=\\\"hidden\\\" name=\\\"charset_test\\\" value=\\\"&euro;,&acute;,\\u20ac,\\u00b4,\\u6c34,\\u0414,\\u0404\\\" \\\/>\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"post_form_id\\\" value=\\\"10711e587b061f39240641dbc74019ac\\\" \\\/>\\u003cinput type=\\\"hidden\\\" name=\\\"fb_dtsg\\\" value=\\\"AQBfQgRs\\\" autocomplete=\\\"off\\\" \\\/>\\u003c\\\/form>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop adsCell\\\">\\u003cdiv class=\\\"adsContainer\\\">\\u003cdiv class=\\\"clearfix\\\">\\u003cdiv id=\\\"fbPhotoTheaterEgo\\\" class=\\\"fbPhotoTheaterEgo\\\">\\u003c\\\/div>\\u003cdiv class=\\\"fbPhotoTheaterEgoSponsored fss fwn fcg\\\">Gesponsert\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003c\\\/tr>\\u003c\\\/tbody>\\u003c\\\/table>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\"));"],"onafterload":["Bootloader.loadComponents([\"fb-photos-theater-css\"], function(){  });"],"content":{"pagelet_photo_bar":"\u003cdiv class=\"mbm fbProfilePhotoStrip\">\u003cul class=\"fbProfilePhotoBar\">\u003cli class=\"stat_elem\" id=\"thumb193067094054363\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa1.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F179200_193067094054363_100000532222327_655777_5428850_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-a.ak.fbcdn.net\/hphotos-ak-snc6\/179200_193067094054363_100000532222327_655777_5428850_s.jpg); background-position: -33px -17px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb185312914825402\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa8.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F165369_185312914825402_100000400858474_523262_6205304_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-h.ak.fbcdn.net\/hphotos-ak-snc6\/165369_185312914825402_100000400858474_523262_6205304_s.jpg); background-position: -22px -30px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb175015452521815\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa6.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc4\u00252F156854_175015452521815_100000400858474_459703_1557976_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003c\/ul>\u003c\/div>"}});</script> 

ส่วนสำคัญดังกล่าวข้างต้นดูเหมือนจะอยู่ที่นี่:

style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">

คุณไม่สามารถเปลี่ยนชื่อ gif เป็น jpg และคาดว่าจะทำงานได้
ChrisF

ใช่ฉันแค่ลองที่ GIF ยังคงแสดงอย่างถูกต้องที่ facebook แต่ไม่เคลื่อนไหว
bitbonk

คำตอบ:


15

พฤษภาคม 2015

http://mashable.com/2015/05/29/facebook-gif-support/

สิ่งแรกที่ต้องคำนึงถึงคือคุณสมบัตินี้ทำงานร่วมกับลิงก์ GIF ไม่ใช่การอัปโหลด GIF อย่างน้อยตอนนี้การพยายามอัปโหลด GIF ที่คุณชื่นชอบจะไม่ส่งผลให้ GIF ที่ใช้งานได้และเล่นได้บน Facebook

[ ... ]

บริการต่าง ๆ เช่น Giphy, Imgur, GFYcat และอื่น ๆ กำลังพยายามทำให้การฝัง GIF ขนาดใหญ่ทั่วทั้งเว็บง่ายขึ้น

[ ... ]

ตรวจสอบให้แน่ใจว่าคุณใช้ URL GIF แบบเต็มจาก Giphy หรือบริการ GIF อื่น ๆ

เมษายน 2012 - การหาประโยชน์ปัจจุบันใช้แอปพลิเคชันข้อความมือถือเพื่อส่งผ่านรูปภาพ

http://www.facebook.com/connect/uiserver.php?app_id=2915120374
&method=stream_publish
&redirect_uri=http://www.facebook.com
&from=SENDERID
&target_id=RECEIVERID
&action_links=[{"text":"Your Text Here",
                "href":"http://www.blank.com/"}]
&attachment={'media':[{'type':'image',
                       'src':'animationurl',
                       'href':'anyurl'}],
             'description':'LongDescription',
             'properties':{'Anything':{'text':'Anything',
                                       'href':'anyurl'}}}

สิ่งเดียวที่จำเป็นจริงๆคือคือต้องเป็นanimationurlภาพที่โฮสต์บน Facebook

นี่คือวิธีที่เป็นไปได้ก่อนหน้านี้

  • การเปลี่ยนชื่อไฟล์เป็น GIF
  • การเปลี่ยนขนาดไฟล์เป็นประมาณ 120 px เพื่อข้ามการบีบอัด
  • การเปลี่ยนข้อมูลส่วนหัวหรือเพิ่มไบต์ (ตัวอย่างเช่น 3B สิ้นสุดในข้อมูล GIF) ไปยังจุดสิ้นสุดของไฟล์เพื่อข้ามเครื่องมือภาพ Facebook
    การเปลี่ยนแปลงข้อมูล
  • ผ่าน Facebook FBML
  • ผ่านแท็ก HMTL ของ Facebook ในโน้ต

วิธีการทำงานแรกดูเหมือนว่าจะแบ่งปันชุด gifs ที่มีอยู่ในปัจจุบันบนเซิร์ฟเวอร์ Facebook ผ่านการติดแท็กผู้ใช้ในนั้น ฉันไม่เคยเห็น GIF ใหม่ใด ๆ ปรากฏนอกเหนือจากที่อยู่ในวงกลมรอบปัจจุบัน

ประการที่สองใช้การละเมิด API ของ Facebook ผ่านแอปพลิเคชัน Facebook นักพัฒนาซอฟต์แวร์ซ่อน GIF ในการแสดงตัวอย่างวิดีโอแบบฝัง

แอพพลิเคชั่นสำหรับนักพัฒนา

ทีนี้ถ้าสมมุติว่าใครที่คิดออกคุณจะถูกแบน ... เพราะนี่หมายความว่าระบบอัพโหลดภาพมีข้อบกพร่องและรหัสอันตรายสามารถถูกประหารชีวิตได้โดยการปกปิดในรูป GIF หรือรูปภาพ ดูเหมือนว่าทีมภาพถ่ายของ Facebook จะรับรองว่า GIF จะไม่อยู่อีกต่อไป

นาธาเนียลโรมัน

Quora Image: นั่นเป็นข้อผิดพลาดที่เกิดขึ้นบนเว็บไซต์ในช่วงเวลาสั้น ๆ  ได้รับการแก้ไขชั่วขณะกลับ

และก่อนหน้านี้ในFacebook Dev Wikiบางส่วนอาจมีการเปลี่ยนแปลงในตอนนี้ แต่ส่วนสำคัญยังคงเหมือนเดิม

แพลตฟอร์ม Facebook จัดการแท็ก img ในลักษณะพิเศษ เมื่อเผยแพร่หน้าเซิร์ฟเวอร์ Facebook ขอ URL รูปภาพใด ๆ จากนั้นให้บริการรูปภาพเหล่านี้เขียนแอตทริบิวต์ src ของแท็ก img ทั้งหมดโดยใช้โดเมน * .facebook.com สิ่งนี้จะช่วยปกป้องความเป็นส่วนตัวของผู้ใช้ Facebook และช่วยให้พวกเขาสามารถควบคุมคุณภาพการบริการของรูปภาพได้ดียิ่งขึ้น

มีสาเหตุหลายประการสำหรับการมีแคชรูปภาพอยู่:

  • เราต้องการวิธีในการรับรองระดับคุณภาพและความสม่ำเสมอของภาพที่แสดงในโปรไฟล์ของผู้ใช้ (ไม่มีภาพเคลื่อนไหวไม่มีภาพ 50 MB ฯลฯ )
  • เราจำเป็นต้องปกป้องความเป็นส่วนตัวของผู้ใช้และไม่อนุญาตให้แอปพลิเคชันที่เป็นอันตรายสามารถดึงข้อมูลจากการร้องขอภาพที่ทำโดยตรงจากเบราว์เซอร์ของผู้ใช้ที่กำลังดู
  • อาจเป็นสิ่งสำคัญที่สุดสำหรับคุณแคชภาพป้องกันนักพัฒนาจากภาระที่อาจเกิดขึ้นอย่างมากในการให้บริการภาพเหล่านี้ทำให้ภาระในทรัพยากรของ Facebook แทน

และในที่สุดตามที่ฉันได้กล่าวถึงที่อื่น

แม้ว่าจะไม่ได้ระบุไว้ที่ใดใน TOS

เมื่ออัปโหลดไฟล์คุณรับรองว่าคุณมีสิทธิ์ในการเผยแพร่ภาพนี้และไม่ละเมิดข้อกำหนดในการให้บริการ

ดังนั้นคุณอาจได้รับการตบหลังสำหรับการทดสอบในบัญชีผู้ใช้ทดสอบ แต่ใช้ประโยชน์ (ถ้าพบ) ในบัญชีส่วนบุคคล ฉันมั่นใจว่าคุณจะเห็นการยกเลิกบัญชีของคุณ

ป.ล. อย่าคิดว่าเพราะเมื่อคุณท่องเว็บไซต์ที่พนักงาน Facebook ไม่เห็นข้อมูลนี้ ช่วงเวลาที่มีการใช้ช่องโหว่นั้นเป็นที่รู้จักกันทั่วไปในระยะเวลาเดียวกันกับที่มันจะถูกปิด


6

แม้ว่าส่วนขยายคือ jpeg แต่ก็ยังคงเป็นไฟล์ gif

รูปภาพของ Firefox

เพื่อตอบคำถามของคุณนี่คือสิ่งที่ฉันพบ :

สิ่งที่คุณต้องทำคืออัปโหลด gif แบบเคลื่อนไหวขนาดเล็ก (ประมาณ 50 KB หรือน้อยกว่า) เป็นรูปโปรไฟล์ของคุณ (Facebook จะแผ่ gif แบบเคลื่อนไหวที่มีขนาดใหญ่ แต่ไม่ตรวจจับขนาดเล็ก) มันจะอยู่ในอัลบั้มของโปรไฟล์ของคุณ ไอคอนของคุณจะไม่เคลื่อนไหว อย่างไรก็ตามคุณจะเห็นว่ามันเป็นภาพเคลื่อนไหวในโฟลเดอร์รูปภาพโปรไฟล์ Facebook ของคุณและโดยไปที่ภาพถ่ายนั้นและคลิกที่ "แชร์" ภาพนั้นจะปรากฏบนผนังของคุณในรูปแบบภาพเคลื่อนไหว

รูปขนาดย่อของโปรไฟล์จะสร้างจากภาพฐานเสมอ หากภาพพื้นฐานต่ำกว่า 120x120 ภาพเคลื่อนไหวจะยังคงไม่เปลี่ยนแปลงทั้งในมุมมองย่อและขยายใหญ่สุด ทุกอย่างที่มีขนาดนั้นจะต้องมีการปรับขนาดให้พอดีกับภาพย่อของแกลเลอรี่ที่ย่อเล็กสุดและจะสูญเสียการเคลื่อนไหวอย่างไรก็ตามขนาดเต็มควรยังคงเป็นภาพเคลื่อนไหว


1

ฉันค้นคว้าและพบว่าภาพนี้สร้างขึ้นโดยแอปพลิเคชันhttp://apps.facebook.com/animated-picture/ คุณสามารถสร้างไฟล์แบบนี้จาก SWF (แฟลช) ในแอปพลิเคชั่นนี้เป็นภาพเคลื่อนไหว GIF และเผยแพร่บน facebook ของคุณ!


น่าเสียดายที่แอปพลิเคชันไม่สามารถใช้งานได้อีกต่อไป Facebook ควรเปิดใช้งานตัวเลือกในการใช้ gif
skan

0

Facebook สนับสนุนการอัพโหลดไฟล์ gif แบบเคลื่อนไหวได้แล้ว หากคุณคลิกที่ปุ่มอัพโหลดภาพในกล่องอัพเดทสถานะในหน้า Newsfeed หรือ Timeline ของคุณจากนั้นเลือกไฟล์ gif เคลื่อนไหวที่คุณต้องการอัพโหลดมันจะถูกอัพโหลดและ Facebook จะแปลงเป็นไฟล์วิดีโอ. mp4 ซึ่งสามารถเล่นได้ เช่นไฟล์วิดีโอ Facebook ปกติรวมถึงความสามารถในการหยุดชั่วคราวที่เฟรมเฉพาะซึ่งไม่ใช่ตัวเลือกเมื่อดูไฟล์ gif ที่เคลื่อนไหวปกติ แม้ว่า gif จะถูกแปลงเป็นไฟล์วิดีโอจริงหลังจากอัปโหลด แต่จะมีป้ายกำกับแบบซ้อนทับที่ชื่อว่า GIF

เนื่องจากเป็นไฟล์วิดีโอและไฟล์วิดีโออัตโนมัติของ Facebook ใน Newsfeed (หากคุณไม่ได้ปิดการตั้งค่า Facebook ไว้) ดังนั้นควรทำงานเหมือนกับ gif แบบเคลื่อนไหว (ลูปคงที่) ในขณะที่ facebook ลูปอัตโนมัติวิดีโอที่มีความยาวไม่เกิน 30 วินาที ยาว.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.