Làm cách nào để đăng ảnh GIF động trên Facebook?


22

Một người bạn đã đăng một hình ảnh đang hoạt hình trực tiếp trong nguồn cấp tin nhắn trên trang bắt đầu Facebook của tôi. Sao có thể như thế được? Điều này có thể giải quyết như thế nào?

Đây là URL được sử dụng bởi Facebook: http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716361814_5773694_3162804_s.jpg

Đây có phải là một hình ảnh GIF chỉ được đổi tên thành .jpg? Chắc là không.

Tôi không biết nó có giúp ích gì không, nhưng đây là phần (tập lệnh) có chứa URL hình ảnh đó:

<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> 

Phần quan trọng của những điều trên dường như là ở đây:

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

Bạn không thể đổi tên gif thành jpg và mong đợi nó hoạt động.
ChrisF

Vâng, tôi vừa thử nó. GIF vẫn được hiển thị chính xác tại facebook nhưng không hoạt hình.
bitbonk

Câu trả lời:


15

Tháng 5 năm 2015

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

Điều đầu tiên cần ghi nhớ là tính năng này hoạt động với các liên kết GIF, không phải tải lên GIF. Ít nhất là bây giờ, cố gắng tải lên GIF yêu thích của bạn sẽ không dẫn đến một GIF có thể sử dụng, có thể chơi được trên Facebook.

[...]

Các dịch vụ như Giphy, Imgur, GFYcat và các dịch vụ khác đang cố gắng làm cho việc nhúng GIF lớn trên web trở nên dễ dàng hơn

[...]

đảm bảo bạn đang sử dụng url GIF đầy đủ từ Giphy hoặc các dịch vụ GIF khác.

Tháng 4 năm 2012 - Khai thác hiện tại sử dụng ứng dụng văn bản di động để truyền hình ảnh

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'}}}

Điều duy nhất thực sự cần thiết là animationurl, cái cần phải là hình ảnh được lưu trữ trên Facebook.

Đây là những cách mà trước đây có thể

  • Thay đổi tên tệp thành GIF
  • Thay đổi kích thước tệp thành khoảng 120 px để bỏ qua việc nén
  • Thay đổi dữ liệu tiêu đề hoặc thêm byte (ví dụ 3B kết thúc trong dữ liệu GIF) vào cuối tệp để bỏ qua các công cụ hình ảnh của Facebook
    Thay đổi dữ liệu
  • Qua Facebook FBML
  • Thông qua các thẻ Facebook HMTL trong ghi chú

Cách làm việc đầu tiên dường như bằng cách nào đó chia sẻ bộ gifs hiện có trên máy chủ Facebook thông qua việc gắn thẻ người dùng trong đó. Tôi chưa thấy bất kỳ GIF mới nào xuất hiện ngoài những GIF hiện đang xoay quanh.

Thứ hai sử dụng lạm dụng API Facebook thông qua Ứng dụng Facebook. Nhà phát triển đã giấu GIF trong bản xem trước nhúng video.

Ứng dụng dành cho nhà phát triển

Bây giờ, giả sử người ta đã tìm ra nó, bạn sẽ bị cấm ... bởi vì điều này có nghĩa là hệ thống tải lên hình ảnh bị lỗi và mã nguy hiểm có thể được thực thi bằng cách giấu trong GIF hoặc hình ảnh. Có vẻ như Nhóm Ảnh Facebook sẽ đảm bảo rằng GIF không còn tồn tại nữa.

La Mã

Quora Image: Đó là một lỗi xảy ra trên trang web chỉ trong một khoảng thời gian ngắn.  Nó đã được sửa lại một lúc.

Và trước đây trong Facebook Dev Wiki cũ, một số điều này có thể đã thay đổi nhưng ý chính vẫn như cũ

Nền tảng Facebook xử lý các thẻ img theo cách đặc biệt. Khi xuất bản một trang, máy chủ Facebook yêu cầu bất kỳ URL hình ảnh nào và sau đó phân phát các hình ảnh này, viết lại thuộc tính src của tất cả các thẻ img bằng tên miền * .facebook.com. Điều này bảo vệ quyền riêng tư của người dùng Facebook và cho phép họ kiểm soát tốt hơn chất lượng dịch vụ của hình ảnh.

Có một số lý do cho sự tồn tại của bộ đệm hình ảnh:

  • Chúng tôi cần một cách để đảm bảo một số mức độ chất lượng và tính đồng nhất trong các hình ảnh được hiển thị trên hồ sơ của người dùng (không có hình ảnh hoạt hình, không có hình ảnh 50 MB, v.v.)
  • Chúng tôi cần bảo vệ quyền riêng tư của người dùng và không cho phép các ứng dụng độc hại trích xuất thông tin từ các yêu cầu hình ảnh được thực hiện trực tiếp từ trình duyệt của người dùng đang xem
  • Có lẽ quan trọng nhất đối với bạn, bộ nhớ cache hình ảnh bảo vệ các nhà phát triển khỏi khả năng phục vụ những hình ảnh khổng lồ này, thay vào đó là gánh nặng cho tài nguyên của Facebook

Và cuối cùng như tôi đã đề cập ở nơi khác

Ngoài ra, mặc dù không được nêu ở bất cứ đâu trong ĐKDV,

Bằng cách tải lên một tệp, bạn xác nhận rằng bạn có quyền phân phối ảnh này và nó không vi phạm Điều khoản dịch vụ

Vì vậy, bạn có thể nhận được một cái vỗ nhẹ vào mặt sau để thử nghiệm trên Tài khoản người dùng thử nhưng sử dụng khai thác (nếu tìm thấy) trên tài khoản cá nhân. Tôi chắc chắn bạn sẽ thấy chấm dứt tài khoản của mình.

PS Đừng nghĩ bởi vì khi bạn đang duyệt các trang web mà Nhân viên của Facebook không thấy thông tin này. Thời điểm khai thác được biết đến công khai, trong cùng một khoảng thời gian nó sẽ bị đóng cửa


6

Mặc dù phần mở rộng là jpeg, nó vẫn là tệp gif

Hình ảnh Firefox

Để trả lời câu hỏi của bạn, đây là những gì tôi tìm thấy :

Những gì bạn phải làm là tải lên một gif hoạt hình nhỏ (khoảng 50 KB trở xuống) làm ảnh đại diện của bạn (Facebook sẽ làm phẳng các gif hoạt hình có kích thước lớn, nhưng không phát hiện ra các ảnh nhỏ hơn). Sau đó nó sẽ có trong album hồ sơ của bạn. Biểu tượng của bạn sẽ KHÔNG được hoạt hình. Tuy nhiên, bạn sẽ thấy nó là hình động trong thư mục ảnh hồ sơ Facebook của bạn và bằng cách truy cập vào bức ảnh đó, và nhấp vào "chia sẻ", nó sẽ xuất hiện trên tường của bạn dưới dạng hoạt hình.

Hồ sơ hình thu nhỏ luôn được tạo từ hình ảnh cơ sở. Nếu hình ảnh cơ sở dưới 120x120 thì hình ảnh động sẽ vẫn nguyên vẹn thông qua cả chế độ xem được thu nhỏ và tối đa hóa. Bất cứ điều gì trên kích thước đó sẽ cần phải được thay đổi kích thước để vừa với hình thu nhỏ của thư viện và sẽ mất hình động, tuy nhiên kích thước đầy đủ sẽ vẫn còn hoạt hình.


1

Tôi đã nghiên cứu và thấy rằng hình ảnh được tạo bởi ứng dụng http://apps.facebook.com/animated-picture/ Bạn có thể tạo các tệp như thế này từ SWF (flash) trên ứng dụng này dưới dạng GIF hoạt hình và xuất bản trên facebook của bạn!


Thật không may, ứng dụng không còn có sẵn. Facebook nên kích hoạt tùy chọn sử dụng gifs.
skan

0

Facebook hiện hỗ trợ tải lên các tệp gif hoạt hình nguyên bản. Nếu bạn nhấp vào nút tải lên hình ảnh trong hộp cập nhật trạng thái trên trang Newsfeed hoặc Dòng thời gian của bạn, sau đó chọn tệp gif hoạt hình bạn muốn tải lên, nó sẽ được tải lên và Facebook sẽ chuyển đổi thành tệp video .mp4, có thể phát giống như một tệp video Facebook bình thường, bao gồm khả năng tạm dừng ở các khung cụ thể, đây không phải là một tùy chọn khi xem tệp gif hoạt hình bình thường. Mặc dù gif thực sự đã được chuyển đổi thành tệp video sau khi tải lên, nhưng nó sẽ có nhãn lớp phủ có ghi GIF.

Là một tệp video và Facebook tự động xử lý các tệp video trong Newsfeed (nếu bạn không tắt cài đặt Facebook đó), vì vậy nó sẽ hoạt động giống như một gif hoạt hình (lặp liên tục) khi facebook tự động lặp các video dưới 30 giây Dài.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.