Friday, December 21, 2012

SharePoint 2013: Videos in SharePoint without Videos in SharePoint

Introduction
Videos are now supported within SharePoint 2013 via a new content type (to add video support to your site collection see this post). This means that video files may be uploaded to SharePoint and playable within a SharePoint site. However, the actual files do not need to actually live in SharePoint itself. A Video library can be populated simply from links to video content.

After returning from the Microsoft SharePoint Conference 2012 in Las Vegas, we downloaded most of the videos of the sessions and content. This collection of videos (as well as any collection of videos) takes up gigs and gigs of disk space. So if we uploaded them all into SharePoint, our content database would bloat to an unmanagable size. So where did we save them?

Network Server
We saved the videos and content to a network server such that people can access them from there, however, we thought it would nice to access the videos through SharePoint 2013 since it now supports the streaming of videos.

IIS Web Site
On the SharePoint 2013 box in a staging environment, we cracked open IIS and created a new web site named "Videos":

We pointed the Videos physical path to the network UNC shared folder:

 
So now we can access videos from the browser using http://sharepointroot/Videos/....
 
That was the first step.
 
 
Video Library
The next step was to add a library to our SharePoint site to add the video links. This is done by creating a Video Library which is accomplished by "Adding an app" from the Settings menu:


Select the Asset Library App:

Provide a name and click Create:

 

This process created the Video Library. Our actual library is just called Videos.


Adding Videos to the Videos Library via Links
When you intially navigate to the Videos Library and click on "new item", there is an assumption that you are uploading a file. In our case, we did not want to upload video files but simply add links to those video files.

We accomplished this by using the New Document menu from the Files top ribbon and selecting Video:



Selecting Video provides several options. We selected "Provide a link to a video" and then entered the http:// path of the video using our new Video web site in IIS:


Clicking OK brings you to a properties screen where you may set a thumbnail as well as other Video properties.

We continued this process for all of the videos available on our network share and loaded up the Video Library:

 
User Experience
We now can provide video content to people through SharePoint and have them watch the video stream right within the SharePoint site:
 
 

The experience is that the video is in SharePoint even though it technically does not live within SharePoint!!!

You may also do something similiar with external videos (such as YouTube) using the embed option. An example of this is shown here.


An example of search results from embedded videos:


You may Enhance your Video Search Results very easily. The details are here.


86 comments:

  1. Steve,
    Did you use a script to download "most of the videos of the sessions and content" or did you have to do it by hand?

    ReplyDelete
    Replies
    1. We found scripts but actually did it by hand to pick and choose. My manager did most of it so I couldn't complain. So "we" was me and my manager...

      Delete
  2. Where can you find the Videos app? I couldn't find it anywhere within SharePoint or on the app store.

    ReplyDelete
    Replies
    1. You need to activate the Video and Rich Media site collection feature on your site collection. I will update the post. Thanks for pointing this out!

      -=Steve

      Delete
    2. http://stevemannspath.blogspot.com/2013/01/sharepoint-2013-activating-video.html

      Delete
  3. Does the behavior of linked videos same as uploaded videos in terms of search? Such as display in the search results and ability to play from search result fly-out etc?

    ReplyDelete
    Replies
    1. I am pretty sure the answer is yes. The server we added the links to is currently down so I can't confirm. I'll verify in my demo environment.

      Delete
    2. I updated this post to show example search results of embedded videos. Looks like you can't play from the fly-out.

      Delete
  4. Hi, We have links to videos on some CDNs or some external sites and when I try to give it like this - http://test/px7xg2rp, it will not accept this and says that this is not a valid video file. This is a link to the video and plays perfectly when I copy paste this to a browser. I don't know the name of the video file as this is on an external site. How can we accomplish this? Thanks for your help!

    ReplyDelete
    Replies
    1. You'll need the actual file to add a link. I would look to see if you can grab embed code from the external site and then use the embed method to add the video to your library. Make sure you add the external site to the HTML Field Security in Site Settings.

      Delete
    2. Hi Steve,
      thanks for the article. i am having a site collection with a video lib added. and am having some 600+ sub sites existing in my site collection. When the sharepoint admin adds a video into this site collection's video lib, i want to make this same video to be available in all the 600+ sub sites in this site collec. is this possible without using event receiver / wsp creation. i dont want to create another wsp for this and implement all those code behind. any other approaches .
      help is appreciated !!

      Delete
    3. Three options come to mind -> Content Query Web Part, Search Results, and Custom Javascript or App. The problem is that no matter how you implement it, you need to tend to 600+ subsites to add. If all of the subsites inherit the site collection master page, then you could potentially add something to the master page to display or link to the videos.

      Delete
  5. Hi Steven,

    How did you manage to create the site and map it properly within IIS? I have tried but no luck, using windows server 2012 and IIS 7. I'm able to create the site and map the directory but unable to browse the directory

    ReplyDelete
    Replies
    1. What error are you getting? It may be permissions.

      Delete
    2. I was getting HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.
      After adding all possible permissions, I'm able to play the videos only on the server that host IIS app. If I trying watching on a different machine the media player shows "Media failed to load"

      Delete
    3. Actually it's IIS 8

      Delete
    4. In IIS, the web site had Anonymous Authentication Enabled and all others disabled. It doesn't look like anything else was modified.

      Delete
  6. Thanks Steve, I ended up hosting the videos in IIS on a non-sharepoint server and it works just fine.

    ReplyDelete
    Replies
    1. Great! I would think that hosting them on a non-sharepoint server would be the recommended approach anyway.

      Delete
  7. in Sharepoint - office365 the "Video and Rich Media" is already active against the site collection. This very article was all we needed.

    Thank you very much! Very useful.

    ReplyDelete
  8. Thank you Steve. I have also bought your book. :)

    I have an issue at the moment.
    I have created a custom list and added a Publishing HTML Column.
    I create a list item and when I insert a video from youtube or from SharePoint, it is automatically removed when I save the list item.
    Maybe it is not supported to have videos in a column?

    ReplyDelete
    Replies
    1. Video is a Site Content Type and is derived from System Media Collection (almost like a document set). You would need to add the Video content type to the list/library not a column itself. However, while I was able to add this to a list, when I attempted to upload a video, I received an error "This object doesn't belong to a document library". Therefore it must be added to a document library or site assets library.

      Delete
  9. I just tried this and I pointed my site to a network share and when I add the link in my sharepoint site I get an error [unable to read media], however if I upload the video directly to the site (video asset libary) can watch the video

    ReplyDelete
    Replies
    1. It is probably a permissions issue. Make sure your SharePoint service account has access to the network share and I would even use the same account on the app pool of the video IIS site.

      Delete
  10. Great post Steve, do you know if there is a way to accomplish the same thing in SP 2010? I've tried but am not able to add a link to the video library, only upload a file?

    ReplyDelete
    Replies
    1. No. The video content type and media support was introduced in 2013.

      Delete
  11. Thanks Steve. That is a nice way of using videos in SharePoint without using up tons of SQL space. Does the video content type provide full feature streaming like being able to move forwards and backwards within the video at random or is it still a sequential download of the file?

    ReplyDelete
    Replies
    1. You can move forwards and backwards. It's a similar experience as in YouTube.

      Delete
  12. Thank you, Steve, I have a question, the video can be uploaded via sharepoint upload to SQL Server and enable RBS, do so and use IIS hosted video, which is more suitable for managing asset library yet. If IIS hosted video, there is no upload function, and how to upload a video of it?

    ReplyDelete
    Replies
    1. If you upload to SharePoint and use RBS, the video files will be stored on the RBS drive but they are not human viewable.This is only for SQL Server to manage. For the IIS web site, you would copy the files to a web server to set that up - you would not upload to SharePoint -only provide the URL link to the video.

      Delete
  13. Thank you, Steve, I mean that users need to upload video assets, general users without a server operating authority, how to upload videos to the server? SharePoint asset library can upload documents such as uploading videos, this is very convenient, but is suitable for managing large numbers of video asset it? If using IIS, the need to develop a user upload component?

    ReplyDelete
    Replies
    1. You could create a network share that points to the IIS location. The users would need to copy the video to the network share location and then go into SharePoint and add the video as a link.

      Delete
  14. How are you accessing the videos at http://sharepointroot/videos if the new videos IIS site doesn't listen on port 80? It looks like you configured a binding of *:1234.

    ReplyDelete
    Replies
    1. You are correct that is an error. Should be server or host name with the port: http://Sharepointroot:1234/videos

      Delete
  15. Have you figured out a way to edit the original link you provide when creating a video by using the Provide a link to a video option? Meaning, you provide the link to the video, but then you want to change the link? We would like to create a site for the upcoming SharePoint Conference, and put in dummy links (so we can pre-build the library with all of the sessions tagged with metadata) and then come back and change the link once we have all the videos available.

    ReplyDelete
    Replies
    1. Figured it out. It is a site column called External Link, and I had to change the group it is associated with (_hidden) so that the column now becomes visible on the edit page of the video. This is obviously a do it at your own caution solution, but for our situation (an internal video solution to store conference videos), we were fine with going down this path.

      Delete
    2. I haven't had the need to do that but I am thinking you may have to go through the API.

      Delete
  16. Steve, this is awesome. I am having some problems though. I am new to SharePoint and UNC paths and I am getting the following errors

    On the Server when trying to browser the path

    HTTP Error 500.19 - Internal Server Error

    The requested page cannot be accessed because the related configuration data for the page is invalid.

    When I try to play the video I get Media load Failed.

    If I upload the video direct to SharePoint it works.

    any ideas.

    ReplyDelete
    Replies
    1. Check the authentication on your video web site and virtual directory. Also check permissions on the actual videos folder. Allow anonymous access if you can and make sure the sharepoint service account has access.

      Delete
  17. Great post Steve!! This exactly what I have been looking for.
    One question I have is, can I implement this functionality on SharePoint Foundation 2013? If so, can I make the video portal be accessible anonymously to the general public?

    ReplyDelete
    Replies
    1. I don't believe the video feature is available in SharePoint Foundation.

      Delete
  18. I have followed this and other articles of yours and have gotten a large video sharepoint site running at my company all thanks to your help. One thing I am wondering is if you know of any way to "batch" create links for multiple videos at one time? I have all of the videos arranged in folders in basically the same structure that I would want in SP but I so far have had to go through and manually add each video link. I wouldn't mind if I had to go back and edit the thumbnail afterword or even embed/download properties but it would be nice to set a way to automatically upload whole folders into an asset library.

    Thanks in advance for any advice.
    Tmark86

    ReplyDelete
    Replies
    1. I haven't performed any batch loading, however, you would need to either create a PowerShell script or Console Application that reads an input file and creates the video list items.

      Delete
  19. This seems to work from inside the network. How do you make it work from outside the firewall? I have 443 open, but not the port for video website.

    ReplyDelete
    Replies
    1. I haven't implemented outside the firewall but I would think you would need anonymous access.

      Delete
  20. Great article Steve, are you using Sharepoint 2013 Standard for this article.

    ReplyDelete
    Replies
    1. Enterprise. I don't believe the video content type is available in Standard.

      Delete
  21. Steve - Can you provide a little more detail about the initial creation of the new web site in IIS? I tried setting it up in a test environment we have but it's not working and I think it's because the web application of the default Sharepoint site isn't using a host header / subdomain or port 80 - it's the servername and port 16000. Does it have to be a host header on port 80?

    ReplyDelete
    Replies
    1. The new web IIS site should be on a separate port. Allow anonymous access.

      Delete
  22. The site I'm doing this on is an internal corporate intranet so I'm not sure I can allow anonymous access but will try. I also thought about perhaps setting up a virtual directory on the port 80 site instead - could that work also?

    ReplyDelete
    Replies
    1. It could as long as SharePoint isn't using it. Instead of anonymous you could set the app pool to run as the same account as SharePoint.

      Delete
  23. Steve,
    Thanks for the tutorial. I've setup a video library with IIS virtual directory that works great without authentication.
    How can I secure this so only domain users have access?

    ReplyDelete
    Replies
    1. You would need to disable Anonymous authentication and enable Windows authentication on the IIS website. Then add Authenticated users (or Everyone) to the security settings of the virtual directory (via Windows Explorer).

      Delete
    2. Not sure if my last reply came through so here it is again.
      I can use authentication just fine with my Windows devices (on and off domain), but it won't work from my iPad. It asks for the credentials twice, the first time it takes me to the site, the second time it takes me to the video library, but when I try to play the video it tells me it needs Silverlight. The same video plays fine from my iPad if I don't use authentication.
      Any ideas?

      Delete
    3. Not sure about the credentials. The videos need to be mp4 with h264 encoding and AAC audio to run on iPads.

      Delete
  24. Hi Steve, I'm having trouble with search on the video asset library. When I'm logged in it's fine, but as an anonymous user, when running a search and trying to view the video page it asks me to login. I can preview the video in the hover panel, and when I click on the video link from /lists/videos/thumbnails.aspx I can go to the video page and watch the video (it uses the videogalleryplayer.aspx page). However from the search it seems to have a SEF URL which always asks me to login to view. Do you know of anything else that we need to open up?

    Thanks,
    David

    Thanks,
    David

    ReplyDelete
    Replies
    1. When you click a link for video you get redirected to this application page:

      /_layouts/15/DocSetHome.aspx?id={path server relative path to list item/folder}&RootFolder={path server relative path to list item/folder}

      We suspect that you are getting prompted at this point (before the redirect happens). You can use Fiddler or F12 to trace.

      OTHER SUSPECTS:
      Also look at this feature: viewformpageslockdown
      And this permission: View Application Pages - View forms, views, and application pages. Enumerate lists.

      Delete
    2. Thanks Steve. I think what our other problem is that although we allowed Anonymous users view only access to the list, for some reason View Application Pages isn't showing up. Do you know why this could happen? We have a pretty stock install of SP2013 enterprise, and we have turned on Limited-access user permission lockdown mode.

      For Anonymous users the permissions for the Asset Library is

      Anonymous Access.
      View Items, Open Items, View Versions, Use Client Integration Features, Open

      Thanks again,
      David

      Delete
  25. Hi Steve,

    Great post. I have create a development environment and followed your steps.It worked liked a charm. I have two questions though:

    1. I create a couple of sample videos but thumbnails were not generated. How did you manage to get thumbnails working in your blog post?
    2. Is it possible for end users to upload the videos using their machines and upload to SharePoint? Or else a designated person is required who uploads the videos from external network share and then upload the video on SharePoint with steps mentioned in your article. Any ideas?

    Thank you.

    ReplyDelete
    Replies
    1. If you edit the video list item, there should be a thumbnail column that allows you to upload a thumbnail.

      Yes you would need someone to upload or give access to a file share and instructions. My colleague actually created a custom video upload that handles this and also gets around the 2gb limit.

      Delete
  26. I'd like to create a video library with the added ability for users to rate and comment on individual videos. The result would be something similar to a video blog.

    Any suggestions?

    ReplyDelete
    Replies
    1. When users view a video, they should be able to rate them. Not sure about the commenting though. I will look into what is available out of the box. Otherwise, you would have to maintain a list of comments that are "connected" to the video. Using Search, you could present video results and then have a javascript call in the search result template to query the list for the specific comments.

      Delete
  27. Hi Steve, Completely diff question. I have a custom hidden column got added to a system media collection content type. Not sure how. I am trying to delete this col using power shell. Delete function doesn't through any error but column is not getting deleted. I have made the content type sealed false also and tried.

    ReplyDelete
  28. Hi Steve,
    Just wanted to add that not only the content DB getting loaded with videos is the problem, but also mp4 files take ages to load.
    However, for anyone that still wants to have their videos in SharePoint, they can use the same quality video in WMV format and SharePoint will play them using Silverlight automatically and they'll load super fast too.

    ReplyDelete
  29. Hello Steve,
    I am able to do the first part which is create a site and change the physical path to the videos folder. But when I use http://server:1234/Video.wmv in the asset library ->Add a link to the video ,,it is not able to play the video. what am I doing wrong here. Please help

    ReplyDelete
  30. Hi Steve,

    Thanks for a great explanation - I have created my IIS site, and can manually link to the videos, which works beautifully. However, we have over 700 files to link to, so I'm trying to get a powershell script that will work to upload all the video links. The error message I am getting is ERROR on input data:, and the odd thing is that it is not in red. I am using the following fields: Title FileLeafRef Description External Link. I've checked the field types, and everything seems to match. Can you point me to the scripts you found? Maybe they can help me narrow in on the issue?

    ReplyDelete
    Replies
    1. The scripts were to download the videos from SPC 12. That was 3 years ago :)

      Delete
  31. Hi Steve,

    Little out of the context, but I think (only) you can answer. Why my Sharepoint 2013 is still using Silverlight player, while Microsoft claims the default player to be HTML5?

    ReplyDelete
    Replies
    1. We battled with this previously but since it was years ago, I forget what our final verdict or solution was. I'm asking around.

      For now:
      https://support.office.com/en-in/article/Create-a-media-solution-in-SharePoint-2013-4be4b56f-65b1-46e2-9e68-a6bd2d491b88

      Delete
    2. We battled with this previously but since it was years ago, I forget what our final verdict or solution was. I'm asking around.

      For now:
      https://support.office.com/en-in/article/Create-a-media-solution-in-SharePoint-2013-4be4b56f-65b1-46e2-9e68-a6bd2d491b88

      Delete
  32. Hi Steve,
    I'd like to back to this thread. do you know how to switch to the HTML5 playe?

    ReplyDelete
    Replies
    1. I forget the reasoning and behavior of this and don't have time to refresh my memory. However, I found a forced solution here:

      http://sharepoint.stackexchange.com/questions/119014/sharepoint-2013-and-html5-video

      Delete
  33. hi Steve. we did in place upgrade of sharepoint 2010 to 2013. but we didn't perform site collection upgrade.

    now the look and feel is 2010 but I want to use the feature you implemented. any idea how to achieve this in 2010 look and feel.

    ReplyDelete
    Replies
    1. See if the Video and Rich Media site collection feature is available.

      Delete
    2. See if the Video and Rich Media site collection feature is available.

      Delete
  34. Steve once the videos are in the library, can you edit the external links without removing. For example the use case here is that i need to move my external content to a new updated server and i don't want to reload all my content. Is this possible?

    ReplyDelete
    Replies
    1. This is probably possible by using PowerShell or a console app to iterate through the library and update the URLs.

      Delete
  35. Hello Steve Mann,

    I am using Video Web part in my page but i want to disable save as and copy link option inside Media player.
    Can you please suggest me how to achieve this thing.
    I have disable right click option but its working in page level and once i play that video right click is not working on that . so other users can able to download that video file . I need high secure page.

    ReplyDelete
    Replies
    1. haven't figured out how to prevent it.

      Delete
    2. hi Steve,

      My developers develop a video web part in SharePoint 2013 server. when we are trying to open the video within the server it is working fine and playing with out buffering, when we are trying to open in out site the server it is buffering w=every 2 sec. the videos present at local drive in the server. Kindly suggest how to overcome this issue.

      Delete
  36. Hi Steve - thanks for sharing - but how can it be http://sharepointroot/videos/...mp4 at the IIS website is "outside" the SharePoint WebApplication/site ? - do you mean http://Servername/videos/....mp4

    ReplyDelete
    Replies
    1. yes you are correct. it would not be the SharePoint root

      Delete
  37. Hi

    Thanks for the article, just used it while editing a new video for my site :)

    /Thanks

    ReplyDelete

Matched Content