php-ffmpeg get video duration

ffmpeg, ffmpeg-php

Solution

$ffprobe
    ->streams($this->videoFile)
    ->videos()                   
    ->first()                  
    ->get('duration');

RETURNS the duration. So I have to store that command into a variable. The correct way to get the duration is:

$duration = $ffprobe
           ->streams($this->videoFile)
           ->videos()                   
           ->first()                  
           ->get('duration');

Problem

When I try to get the duration of a video using the php-ffmpeg wrapper and ffprobe, I get a huge object instead of just the duration. ``` $ffprobe = FFMpeg\FFProbe::create(); $ffprobe->format($this->videoFile) ->get('duration'); ``` $this->videoFile is /home/admin/........./5422346433.mp4 So it points to right file and the duration is listed in the giant object down in ``` [[-show_format-/home/admin/web/admin.simplewebevents.com/public_html/cron/649652027.mp4][1]] => Array ( [0] => FFMpeg\FFProbe\DataMapping\Format Object ( [properties:FFMpeg\FFProbe\DataMapping\AbstractData:private] => Array ( [filename] => /home/admin/web/admin.simplewebevents.com/public_html/cron/649652027.mp4 [nb_streams] => 2 [nb_programs] => 0 [format_name] => mov,mp4,m4a,3gp,3g2,mj2 [format_long_name] => QuickTime / MOV [start_time] => 0.000000 [duration] => 5736.833333 [size] => 668381267 [bit_rate] => 932056 [probe_score] => 100 [tags] => Array ( [major_brand] => mp42 [minor_version] => 0 [compatible_brands] => mp42mp41isomavc1 [creation_time] => 2016-12-04 18:25:58 ) ) ) [1] => ) ) ``` But apparently ->get('duration') doesnt return the duration. I've also tried with ``` $ffprobe ->streams($this->videoFile) // extracts streams informations ->videos() // filters video streams ->first() // returns the first video stream ->get('duration'); ```

Original source