Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
AME - Auto Media Embedding (youtube, Amazon, google, myspace, etc...) Details »»
AME - Auto Media Embedding (youtube, Amazon, google, myspace, etc...)
Version: 1.2.0, by The Geek The Geek is offline
Developer Last Online: Jan 2019 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 3.6.7 Rating:
Released: 06-27-2007 Last Update: 07-12-2007 Installs: 1245
DB Changes Uses Plugins
Additional Files  
No support by the author.

From the inventors of Swiss Cheese and the Egg comes AME - The Automatic Media Embedding System.

Note that Version 2.0.0 can be found here

AME is derived from GAL 6 base code but instead of linking keywords, it converts URLs that users paste or enter in their posts into inline embedded video streams.

Big credit goes out to mfyvie for the original concept that jazzed me up enough to lift code that I have been working on to radically improve his fresh idea. Though the same goal, I have taken a totally different approach to his initial release. This mod is 100% steaming fresh code straight from the Geeks oven of love.

First... the overview

AME scans new and edited posts for pre-defined patterns of URLs (i.e. youtube's). If it finds a match, it swaps the url tag for an ame tag.
When a post get parsed for bbcode and an ame tag is found, instead of hammering away at the post with umpteen bbcodes, AME quietly figures out which pre-defined embedding should be placed there and... viola', you have a pretty little embedded video like this:

Attachment 66927

This is significantly faster, has much lower overhead and is much easier to manage than loads of bbcodes or a than scanning every single post as the user views it to see if there are any conversions that need to be made.

Now for the bells and whistles

AME:
  • is lightweight as it does all of her chores without the overhead of having 1 bbcode per pattern or trying to parse a post every single time it gets displayed with a bunch of patterns. This radically reduces overhead and speeds up the processing. The only time ame will kick in is after creating a new post or after editing an existing one (or if an ame tag is found in a post)
  • is extensible. She allows you to add, edit, delete, import and export patterns. That way you can decide which services to support, how they should look and then share them with others!
  • can extract the title (requires your server to allow url wrappers with fetch_contents)
  • can extract embed code from sites whose URLs do not contain sufficient information to embed the video
  • can rebuild your old posts to convert your 'other' mediaish tags into URL tags.
  • can rebuild your old posts to convert URL tags into ame tags where needed
  • can convert her codes BACK to url codes so you're not stuffed with a bunch of dead tags if you uninstall!
  • won't uglify your site by having videos appear in quotes, php, code or html blocks (blech!)
  • can be globally disabled
  • can be excluded from forums
  • can exclude usergroups
  • can be toggled on/off per post
  • would cook dinner for you if she had arms
  • can wrap the output in a 'container' with original URL
  • has a super comprehensive admincp help system. Yes, I actually took the time to add all the info you need into vB's admincp help system. If you ask a silly question in this thread that is addressed in the help system, you will be taunted.
  • is fully phrased
  • has hooks around integral operations so you can extend it

Add ons

AME comes configured with YouTube, Myspacetv, Google Video, Bolt, iFilm, Yahoo, Dailymotion, Amazon and MetaCafe Support built in. Since the amount of providers are always changing and most sites will only need a particular amount, AME has been designed with an import and export system to allow members to easily share formats with one another. In fact, the second post of this thread is updated periodically to relflect those add ons. Currently there are over 12 more additional formats contributed by AME users. Click here to see them.

Installation
  • Upload the contents of the forums folder into your forums directory and import the product.xml file into your product manager.
  • After installation, make sure that the system is on (admincp->AME CP->Settings)
  • Then you may want to try to rebuild old URLs via the tools option.

Troubleshooting

See this post on troubleshooting

A note about support and such

I have my plate pretty full with taking care of my commercial mods and the support that comes with them. Saying that, I will help when I can - but to be honest, I have ensured that there should be little to no support needed on this mod as it is very much self contained.
Please do not PM or post asking me to give you regexp's to support additional media streams. I built the system so that you can add your own providers as well as the ability to import and export them. If you still need a pattern but are not great with regular expressions (who is?) then I suggest getting RegExpBuddy. Although I am not expert at regular expressions, I did a quick start tutorial on AME regexps here if you want to check it out. I don't mind you guys asking amongst each other for these things, but just note that I will most likely not respond to the requests.

I will reserve the first couple of posts in this thread to periodically add user contributed patterns to import and for additional information (I hate mega long first post's in the release section). So check there for up to date information.

nJoy

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #1402  
Old 08-24-2008, 08:08 PM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just as FYI... Im on holiday so to relax, I crakced this code back open to add some more functionality. Got most of it sorted so there may be a version 2.0 coming out of the blue within the next week.

Specifically, it:
1- Addresses the UTF problem mentioned on this page (title with special characters like ?)
2- Sorts out vanishing $ characters from quotes and code blocks
3- Adds support for vblog
4- Adds support for group posts

Ill more than likely remove most of the 'installed' codes sinces they seem to keep changing more than I update this mod DJ (and others) seem to be doing a great job evolving the Code set and I think having AME come with outdated codes doesnt make much sense to new users

Anyhoo... the above fixes and features are already done. Ill add a couple toggle switches for the new supported areas and do some gerenal housekeeping on the code before I release.

If there is anything else you can think of that may be needed (apart from codes), give me a shout in this thread, however I can't guarantee that it will make it in.

nJoy all
Reply With Quote
  #1403  
Old 08-24-2008, 09:28 PM
Regs Regs is offline
 
Join Date: Oct 2001
Location: Vancouver BC
Posts: 322
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nJoy indeed - the additional functionality for blogs and group posts is awesome!

Thank you TG and hope all is well!

Cheers,

Regs.
Reply With Quote
  #1404  
Old 08-25-2008, 01:49 AM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by The Geek View Post
Just as FYI... Im on holiday so to relax, I crakced this code back open to add some more functionality. Got most of it sorted so there may be a version 2.0 coming out of the blue within the next week.

Specifically, it:
1- Addresses the UTF problem mentioned on this page (title with special characters like ?)
2- Sorts out vanishing $ characters from quotes and code blocks
3- Adds support for vblog
4- Adds support for group posts
Dude, you have no idea how much folks are gonna love you for that. They've been asking ME to do it, and I have no idea what I'm doing as it is! Thanks a bunch.


Quote:
Ill more than likely remove most of the 'installed' codes sinces they seem to keep changing more than I update this mod DJ (and others) seem to be doing a great job evolving the Code set and I think having AME come with outdated codes doesnt make much sense to new users
That does seem like a good idea. That might clear up some confusion when people first start out.


Quote:
Anyhoo... the above fixes and features are already done. Ill add a couple toggle switches for the new supported areas and do some gerenal housekeeping on the code before I release.

If there is anything else you can think of that may be needed (apart from codes), give me a shout in this thread, however I can't guarantee that it will make it in.

nJoy all
Hrm, well, from a developer's standpoint, I would love a toggle switch to select/deselect all definitions in the Export screen. I've got a trick where I can Tab+Spacebar through the list pretty quick, but as you can imagine, with 155 definitions, my hand starts to cramp right around 50.

This would be entirely self-motivated, but an Add New option in the menu, rather then way down at the bottom of the page would be nice too (well, way down when you have 155+ entries. :erm

From a user's perspective, I think some folks would like a multiple delete option. I like the fact that definitions don't overwrite, but when I have too much coffee and do one of my larger definition updates, a lot of folks have asked if that could be added. Maybe a checkbox type deal.

I ran into a couple of posts here on the forum that suggested that AME rebuilt ALL your media link and that if you uninstalled it, you'd end up with useless links, which is why some are using PassiVid. I was hoping you could clarify that doesn't happen (unless you manually choose to) in the description, because I think some folks are misreading.

Other then that, hrm, I don't know. Categories maybe? A couple of people suggested a Profile Block, but, I don't know if thats outside the scope of this mod. Eh, I'm fishing.

This is definitely my favorite modification and I look forward to the next update. Thanks a bunch for not forgetting us. Will you be releasing this in the 3.7 section as well?
Reply With Quote
  #1405  
Old 08-25-2008, 01:59 AM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I had a quick question for you, Geek. Does AME add any conditions where you could check for it on threadbit? Someone suggested recently a little TV icon by the thread title when a video is posted in it. But I didn't know what, if anything, to look for to set up an <if> conditional.
Reply With Quote
  #1406  
Old 08-25-2008, 06:54 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Digital Jedi View Post
I had a quick question for you, Geek. Does AME add any conditions where you could check for it on threadbit? Someone suggested recently a little TV icon by the thread title when a video is posted in it. But I didn't know what, if anything, to look for to set up an <if> conditional.
Hmm... Thats kind of a cool idea, but out of the scope of this mod. However it could easily be done by creating an add on that uses AME's hooks:
1- Add a field to the thread table (i.e. ame_count)
2- in the automediaembed_prep_text_end hook, put something along these lines:
PHP Code:
if ($flag)
{
global 
$threadid;
//update ame_count


you could then use the ame_count field in a conditional for the TV icon.

Saying that, you would then want to update during edits, deletes and moving of posts. A bit of a pain, but the best 'performance' method possible

Quote:
Originally Posted by Digital Jedi View Post
Hrm, well, from a developer's standpoint, I would love a toggle switch to select/deselect all definitions in the Export screen. I've got a trick where I can Tab+Spacebar through the list pretty quick, but as you can imagine, with 155 definitions, my hand starts to cramp right around 50.
ok

Quote:
Originally Posted by Digital Jedi View Post
This would be entirely self-motivated, but an Add New option in the menu, rather then way down at the bottom of the page would be nice too (well, way down when you have 155+ entries. :erm
np

Quote:
Originally Posted by Digital Jedi View Post
From a user's perspective, I think some folks would like a multiple delete option. I like the fact that definitions don't overwrite, but when I have too much coffee and do one of my larger definition updates, a lot of folks have asked if that could be added. Maybe a checkbox type deal.
Make sense

Quote:
Originally Posted by Digital Jedi View Post
I ran into a couple of posts here on the forum that suggested that AME rebuilt ALL your media link and that if you uninstalled it, you'd end up with useless links, which is why some are using PassiVid. I was hoping you could clarify that doesn't happen (unless you manually choose to) in the description, because I think some folks are misreading.
AME can overwrite media links if you want. That is what the conversion tool is for, it essentially takes the plethora of [media] tags and turns them into URL tags, essentially allowing you to uninstall them. Without breaking old posts. From that point you could then run the rebuild tool to convert into AME codes if that is what you wanted, however AME doesnt do this by default, you would have to run the tool.

Quote:
Originally Posted by Digital Jedi View Post
Other then that, hrm, I don't know. Categories maybe? A couple of people suggested a Profile Block, but, I don't know if thats outside the scope of this mod. Eh, I'm fishing.
Yea, it really is outside the scope as AME is designed to scan blocks of text for userdefined URL patterns. A profile block would KNOW that it was geting a media URL and could simply display it in an object tag. In fact, that is pretty easy to do, the only messy part is adding a block as IMO it is very easy and doable, just kind of messy.

Quote:
Originally Posted by Digital Jedi View Post
This is definitely my favorite modification and I look forward to the next update. Thanks a bunch for not forgetting us. Will you be releasing this in the 3.7 section as well?
I suppose it will need to go into the 3.7 section as it won't work on 3.6 and it should infer that it works with 3.7x (thought this version does too).

I am currently working on the rebuilding of blog and group posts which is a bit long winded and will add your suggestions above.

Thanks for your continued support on this project After looking at the current options availible, I still think AME is by far the best media embedder for customisability and performance.

nJoy
Reply With Quote
  #1407  
Old 08-25-2008, 09:39 AM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by The Geek View Post
Hmm... Thats kind of a cool idea, but out of the scope of this mod. However it could easily be done by creating an add on that uses AME's hooks:
1- Add a field to the thread table (i.e. ame_count)
2- in the automediaembed_prep_text_end hook, put something along these lines:
PHP Code:
if ($flag)
{
global 
$threadid;
//update ame_count
 

you could then use the ame_count field in a conditional for the TV icon.

Saying that, you would then want to update during edits, deletes and moving of posts. A bit of a pain, but the best 'performance' method possible
I'll have to see if I can make that work. That's just a hair beyond my current level of knowledge, but I think I can tackle it.



Quote:
AME can overwrite media links if you want. That is what the conversion tool is for, it essentially takes the plethora of [media] tags and turns them into URL tags, essentially allowing you to uninstall them. Without breaking old posts. From that point you could then run the rebuild tool to convert into AME codes if that is what you wanted, however AME doesnt do this by default, you would have to run the tool.
Right, what I meant was some folks thought it did it by default and they thought it did it to all your video URLs across the forum no matter what. Meaning that if you uninstalled it, you'd have useless links left over. I've been setting them straight though.



Quote:
Yea, it really is outside the scope as AME is designed to scan blocks of text for userdefined URL patterns. A profile block would KNOW that it was geting a media URL and could simply display it in an object tag. In fact, that is pretty easy to do, the only messy part is adding a block as IMO it is very easy and doable, just kind of messy.
I was thinking it would probably be messy. Maybe another add-on for the future.



Quote:
I suppose it will need to go into the 3.7 section as it won't work on 3.6 and it should infer that it works with 3.7x (thought this version does too).

I am currently working on the rebuilding of blog and group posts which is a bit long winded and will add your suggestions above.

Thanks for your continued support on this project After looking at the current options availible, I still think AME is by far the best media embedder for customisability and performance.

nJoy
Hey, no problem. I enjoy working on these things.

Oh, I know. I did have one more question with regard to this, and I can't believe I almost forgot to ask. Sometimes, depending on the site, it's just impossible to get the pertinent data from the URL or the source page. A lot of times it's because the video embed ID isn't part of the HTML, but generated dynamically or the embed code might be located on a separate page. Is there a way to have the RegEx look to a different page then the source? I guess an example would be like this:

The source page is: www.videosite.com/dont_click

The video ID is neither extractable from the URL nor the source page, but it can be found on these pop-up windows:

www.videosite.com/embed_code/dont_click or
www.videosite.com/embed_code/dont_click/videoid=123456

So I build a RegEx for the main URL. Either http://www\.videosite\.com/[\w]+ or ([\w]+)

And somehow have a field where I can tell the RegEx/Embed RegEx to look either in a new specified source page, or in a new specified URL.

I don't think there's anything that can be done for information that's buried in javascript. Also, every so often, embed code is javascript, and it just doesn't convert when posted.
Reply With Quote
  #1408  
Old 08-25-2008, 10:12 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm... can't you do that with the replacement code or using the extraction method? There obviously has to be a link to the popup (which is what I would extract)

Maybe if you give me a link as an example I can get a better idea or offer some suggestions. Just remember that I am on vacation and I don't have regexp buddy installed on this box so I don't want to spend to much time getting caught up in Regexps
Reply With Quote
  #1409  
Old 08-25-2008, 01:25 PM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't mind me. I've had more pots of coffee then the USDA Recommended Daily Allowance. Since I last posted, I knitted a Buick....

Seriously, though, I had some great examples, and I can't seem to find any of them at the moment. One or two of the sites I was having trouble with apparently just changed their URL strings. (!!)

Basically, what I'm running into now and again is where the extraction method is of no use, because the pertinent data is not anywhere on that page, so the RegEx can't reference it at all. (Crazy sites where the video ID might be 3678, but every number in the HTML of the page is 3677. ) But often, the data I need is located in a pop-up window, a completely different page. If I could only get the RegEx to scan that page I could nab it.

Sometimes, I'm out of luck because the entirety of the page is generated by javascript, with nary a video ID to be found. I don't think much can be done about that.

Hey, like I said, I'm 90% caffeine at the moment. Enjoy your vacation.
Reply With Quote
  #1410  
Old 08-26-2008, 06:29 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here is beta 1 of 2.0 if you want to test and give me your feedback. Only things I have identified so far are:

1- First posts in a groupmessage via the quick reply wont AME (though subsequent ones will and editing it will)
2- I havent removed any of the defunct definitions yet

nJoy
Reply With Quote
  #1411  
Old 08-26-2008, 08:02 AM
tormodg tormodg is offline
 
Join Date: Oct 2004
Location: Oslo, Norway
Posts: 173
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Geek, if a Version 2 goes Gold soon then you're officially the Coolest Geek on board.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:29 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05748 seconds
  • Memory Usage 2,363KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_php
  • (14)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete