I have come across a rather odd problem that must certainly have a simple solution I am overlooking. I have set up the video module to play different video formats using VideoJS. That means I have 4 videos attached to the node but only one should be visible depending on the platform the user is using to view the website.
Everything works perfectly when viewing the node however if I try to place the video field within a view, all videos are displayed instead of one. If I set the "Items to display" to 1, the first video uploaded is displayed, not the video required for the user's browser.
The video display field for the Full node is set to 'Video'. I have also set the format within views to 'Video'. I have tried this with 'Row Style' set to "Node", but unfortunately this didn't work either.
Am I missing something simple or is VideoJS just unable to determine what browser is being used when showing videos through Views?
Comments
Comment #1
goldlilys CreditAttribution: goldlilys commentedWhat is showing up on the node pages? Is only one video out of 4 showing up ? Because doesn't videojs only need one video file and it makes sure to have it be compatible with all different browsers. You don't need to upload 4 videos for each browser.
Also it seems you are not really sure how views work. Setting the "items to display" to 1 always gets the first video/item on the node that was uploaded.
Comment #2
jasont28 CreditAttribution: jasont28 commentedOn the node pages, one video is showing but it's not the right format for the browser being used. HTML5 video isn't universal for all browsers. You need .webm for Google (and Mozilla in FF4 I believe), .ogv for FF3 and .mp4/.m4v for Safari/iPhone.
VideoJS requires each of these video formats and it displays the right format for the user's browser. On a node page, this works and only one of the videos is displayed. In a view however, all video formats are displayed. When one video should be shown, Theoretically, setting "items to display" to 1 should display only one video with VideoJS displaying the right format. Alas it does not.
Thank you for the input goldlilys.
Comment #3
Exploratus CreditAttribution: Exploratus commentedsame here.
subscribe.
Comment #4
heshanlkPlease use later version of the videojs and video module. We have resolved this. You have to enable both module and in video module configurations you have to set the VideoJS player.
Comment #5
Jorrit CreditAttribution: Jorrit commentedComment #6
odisey CreditAttribution: odisey commentedDrupal6 // I cannot get any videos to print in views. How are you creating the view? I attempt to link the video file with videojs: HTML 5 Player and get an error in the Live Preview dialogue box "This display has not path" Is it possible to set up views of videos on videojs?
Comment #7
reflectiondigital CreditAttribution: reflectiondigital commentedThis is not fixed.
Video.js module 6.x-2.2
Video.js library 3.2.0
Video module 6.x-5.1
In my View if I set the Format to "videojs: HTML 5 Player" it is completely blank. Viewing the code shows that no tag is added at all.
Setting the Format to "Video" plays both versions of the video, even in the browsers that don't support that version.
Comment #8
zestmedia CreditAttribution: zestmedia commentedI create a separate content type for videos and create the field for the video files and thumbnail image. Make sure you set the display field for the cck of a full node to 'Video.js : HTML5 Video Player. You can then use a node reference field to attach these videos as needed to other content types - and set the Display fields to 'Full node' for each content type.
You can use views to output the videojs, set the 'Row style' to 'Node' and set the 'Build mode' to 'Full node'. Then set the Filters in the view to only include the node type of your video.
Update the node template to only output what you need.
Comment #9
Jorrit CreditAttribution: Jorrit commentedClosed because of lack of response.