Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

DataObjectManager Module

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, biapar, Willr, Ingo, swaiba, simon_w

video thumbnails issue


Reply

4 Posts   605 Views

Avatar
Arun_India

4 January 2012 at 7:35pm (Last edited: 5 January 2012 6:55pm), Community Member, 18 Posts

Hi UncleCheese,

I am having problem with video thumbnails.Currently i have default_video image.
I did not see any video thumbnails files within the directory video_thumbnails in asset folder also i checked FLV::echo_ffmpeg_test(); and the results shows
FFMPEG is installed on your server and working properly. Code: 1

My Videos works fine.

My code is=======>
1)Video .php
<?php
class Video extends DataObject
   {
      static $db = array ('Title' => 'Varchar(100)','Description' => 'Text');
      static $has_one = array ('VideoPage1' => 'VideoPage','Video' => 'FLV');
   }

2)VideoPage.php
<?php
class VideoPage extends SectionPage {

   static $has_many = array ('Videos' => 'Video');
   static $has_one = array ('Filepath' => 'Filename');
   
   public static $icon = 'mysite/images/treeicons/video';

   public static $db = array(
   );

   //public static $has_one = array();
   
   public function canCreate($member = null) {
      if(!$member || !(is_a($member, 'Member')) || is_numeric($member)) $member = Member::currentUser();

      if($member && Permission::checkMember($member, "ADMIN")) return true;
      
      // DEPRECATED 2.3: use canCreate() instead
      $results = $this->extend('alternateCanCreate', $member);
      if($results && is_array($results)) if(!min($results)) return false;
      
      // decorated permission checks
      $results = $this->extend('canCreate', $member);
      if($results && is_array($results)) if(!min($results)) return false;
      
      return $this->stat('can_create') != false || Director::isDev();
}

   public function getCMSFields() {
    $fields = parent::getCMSFields();
   
   
    $fields->addFieldToTab("Root.Content.Videos", new FileDataObjectManager(
               $this,
               'Videos',
               'Video',
               'Video',
               array('Title' => 'Title', 'Description' => 'Description'),
               new FieldSet(
                     new TextField('Title'),
                     new TextareaField('Description')
                        )
            ));
            
            
return $fields;
}
   
function Thumbnail() {
      $Image = $this->Image();
      if ( $Image ) {
      return $Image->CMSThumbnail();
      } else {
      return null;
      }
      }      
   
   
}
class VideoPage_Controller extends SectionPage_Controller {

   public static $allowed_actions = array (
   );

   public function init() {
      parent::init();
   }
}

3)VideoPage.ss

<% if IncludeLeftPanel %>
   <% include LeftPanel %>
<% end_if %>
<div id="Content" class="typography <% if IncludeLeftPanel %>wLeft<% end_if %><% if IncludeRightPanel %>wRight<% end_if %>">
   <% if ClassName=="HomePage" %>
   <% control sectionPages %>   
    <% if Children %>
         <div class="$URLSegment contentBox sectionSummary round shadow">
         <a href="$Link"><img class="icon" alt="$Title Icon" src='$icon.URL'/></a>
         <div class="description">
            <a href="$Link"><h3>$Tagline</h3></a>
            <p>$Blurb</p>
            <a href="$Link"><img class="headshot" alt="$Title Headshot" src='$headshot.URL'/></a>
         </div>
         </div>
    <% end_if %>
   <% end_control %>
   <% end_if %>
   <% if ComingSoon %>
      <% include ComingSoon %>
   <% else_if Content %>
      <% if NoContentBox %>
         $Content
      <% else %>
         <div id="ContentInner" class="round shadow">
         
         
            <link rel="stylesheet" type="text/css" href="Player/style.css">
<center>
<!--<div id="mediaplayer">H2connect Video Player </div>-->
<video id="mediaplayer"></video>
</center>
   <div align="center">
   <script type="text/javascript" src="Player/jwplayer.js"></script>
   </div>
   <!--$Content-->
   <ul>
<% control Videos %>
      <li style="display:inline-block; *float:left;text-align:center;">
      Title:<h3>$Title</h3>
      
      <div style="margin: 3px auto; width:70px;text-align:center;padding:10px; border:0px solid #f7f7f7;">
      </div>
      
   <% control Video %>
      <div id="mediaplayer"></div>
      <script type="text/javascript">
            jwplayer('mediaplayer').setup({
               flashplayer: '/Player/player.swf',
               file: '$FLVLink',
               image: '$image'
            });
      </script>
      <script type="text/javascript">
         function Play(videoUrl)
            {
               var playlist = jwplayer('mediaplayer').getPlaylist();
               var newItem = videoUrl;
            playlist.push(newItem);
            jwplayer('mediaplayer').load(newItem);
            }
      </script>
      <div>
      <a href="#" onclick="Play('$FLVLink')">
       <% control VideoThumbnail %>
       $CroppedImage(50,50)
       <% end_control %> </a>
      </div>
      
   <% end_control %>
   Description:<h3>$Description</h3>
   </li>
<% end_control %>
   </ul>
            <% if ClassName=="Page" %>
            <div>$Form</div>
            <% else_if Fields %>
            <div>$Form</div>             
            <% end_if %>
            
            
    <% if ClassName == RegistrationPage %>
<% if RegistrationForm %>
<% control RegistrationForm %><% include MultiFormProgressList %><% end_control %>
<div>$RegistrationForm</div>
<% end_if %>               
    <% end_if %>             
                  
            <div>$PageComments</div>
         </div>
      <% end_if %>
   <% end_if %>
</div>
<% if IncludeRightPanel %>
   <% include RightPanel %>
<% end_if %>
<% if IncludeOurPicks %>
   <% include OurPicks %>
<% end_if %>

And my ffmpeg_log.txt shows like ...

[2012-01-02 16:18:10] ffmpeg -y -i C:\inetpub\wwwroot/assets/Wellness/video2.flv -an -s 640x480 -ss 10 -an -r 1 -vframes 1 -y -vcodec mjpeg -f mjpeg C:\inetpub\wwwroot/assets/video_thumbnails/video2.jpg
[2012-01-02 16:18:10] 'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

[2012-01-02 16:18:11] ffmpeg -y -i C:\inetpub\wwwroot/assets/Wellness/video2.flv -an -s 640x480 -ss 10 -an -r 1 -vframes 1 -y -vcodec mjpeg -f mjpeg C:\inetpub\wwwroot/assets/video_thumbnails/video2.jpg
[2012-01-02 16:18:11] 'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

[2012-01-02 16:18:17] ffmpeg -y -i C:\inetpub\wwwroot/assets/Uploads/video2.flv -an -s 640x480 -ss 10 -an -r 1 -vframes 1 -y -vcodec mjpeg -f mjpeg C:\inetpub\wwwroot/assets/video_thumbnails/.jpg
[2012-01-02 16:18:17] 'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

I am stuck with thumbnail video...
Pls find me a solution...

Regards
Arun
   

Avatar
UncleCheese

5 January 2012 at 3:34am (Last edited: 5 January 2012 3:37am), 4085 Posts

echo_ffmpeg_test(); is not 100% accurate, and as you can see from the logs, it's not executing. Either FFMPEG is not installed, or you need to use set_ffmpeg_root() (I think??) to specify an absolute path to the executable, e.g. /user/bin/ffmpeg

Would you mind editing your message to reduce the number of log entries? It will be cumbersome for readers to go through 100,000 lines of text!

--------------------
SilverStripe tips, tutorials, screencasts and more: http://www.leftandmain.com

Avatar
Arun_India

5 January 2012 at 10:43pm (Last edited: 5 January 2012 10:46pm), Community Member, 18 Posts

Hi, Uncle Cheese

I set the absolute path in dataobject_manager\code\flv\ FLV.php page.(private static $ffmpeg_root = "c:/inetpub/wwwroot/";)

Still i am facing the same problem with video thumbnail.
Currently i am working in windows server in IIS with sql server 2008 as database....

And in my ffmpeg_log.txt shows like the same error.

[2012-01-05 13:53:05] ffmpeg -y -i C:\inetpub\wwwroot/assets/Uploads/JIWOK-ANIMV3.flv -an -s 640x480 -ss 10 -an -r 1 -vframes 1 -y -vcodec mjpeg -f mjpeg C:\inetpub\wwwroot/assets/video_thumbnails/.jpg
[2012-01-05 13:53:06] 'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

========================================

Can i add an option in video page for uploading image..?

========================================
Pls help me to solve these problems...

Regards
Arun

Avatar
Arun_India

11 January 2012 at 1:10am (Last edited: 11 January 2012 1:18am), Community Member, 18 Posts

Hi Uncle Cheese,

Still i am facing the same problem with video thumbnail.

Sometimes the error is ===>

[User Error] Uncaught Exception: Cannot move assets/video_thumbnails/.jpg to assets/.jpg - assets/video_thumbnails/.jpg doesn't exist
GET /wellness/videos/
==================
But while checking in the folder(assets/video_thumbnails),there is no jpeg files and also in database ([File]) the Filename field and Name is saving with jpg only( assets/video_thumbnails/.jpg).
Tilte is save with ID(flv_thumb_6796)

When i remove
<% control VideoThumbnail %>
       $CroppedImage(80,80)
       <% end_control %>

these code from Videopage.ss file, that error is cleared and also the default video image is not listing.

Pls help me to solve these problems...

Regards
Arun