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   662 Views

Avatar
Arun_India

Community Member, 18 Posts

4 January 2012 at 7:35pm

Edited: 05/01/2012 6:55pm

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

Forum Moderator, 4096 Posts

5 January 2012 at 3:34am

Edited: 05/01/2012 3:37am

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

Community Member, 18 Posts

5 January 2012 at 10:43pm

Edited: 05/01/2012 10:46pm

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

Community Member, 18 Posts

11 January 2012 at 1:10am

Edited: 11/01/2012 1:18am

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