Todo BBCODE se basa en su replacement, por ejemplo el de youtube es este me parece:
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/{param}"></param><embed src="http://www.youtube.com/v/{param}" type="application/x-shockwave-flash" width="425" height="350"></embed></object>
Si analizas el codigo tiene 2 valores que son los escenciales para mostrar tu video!
value="http://www.youtube.com/v/{param}
src="http://www.youtube.com/v/{param}
Como todos nos podemos haber dado cuenta, en youtube todas las URL son iguales y solo difieren en el ID del video, por decirse asi.
URL COMUN ->
http://www.youtube.com/v/
Y luego viene el valor {param}, que es el que se reemplaza con el valor del BBCODE... [yt]el codigo del video[/yt], con ese bbcode se reemplazara nuestro ID en el parametro, en este ejemplo quedara asi:
http://www.youtube.com/v/el codigo del video
Eso es lo basico a la hora de crear un BBCODE.
Ahora debes tener claro como funciona el "embed" de los videos del sitio que quieres ingresar. Sin ese embed y si no podemos encontrar una similitud en ellos, no se podra crear el bbcode...
Ojala me haya explicado, por lo demas creare un tutorial para crear BBCODE's de videos
Les dejo una guia explicada a fondo de como crear sus BBCODE propios de videos: http://soportevb.com/crear-bbcodes-para-insertar-videos/