/**
  * Completes track information from a given path using ffmpeg.
  * @param Track $track
  */
 public function autocompleteTrack(Track $track)
 {
     if (!$track->getPath()) {
         throw new \BadMethodCallException('Input track has no path defined');
     }
     $file = $track->getPath();
     $movie = new \ffmpeg_movie($file, false);
     $finfo = new \finfo();
     if (!$this->fileHasMediaContent($finfo, $file)) {
         throw new \InvalidArgumentException("This file has no video nor audio tracks");
     }
     $only_audio = true;
     // General
     $track->setMimetype($finfo->file($file, FILEINFO_MIME_TYPE));
     $track->setBitrate($movie->getBitRate());
     $track->setDuration(ceil($movie->getDuration()));
     $track->setSize(filesize($file));
     if ($movie->hasVideo()) {
         $only_audio = false;
         $track->setVcodec($movie->getVideoCodec());
         $track->setFramerate($movie->getFrameRate());
         $track->setWidth($movie->getFrameWidth());
         $track->setHeight($movie->getFrameHeight());
     }
     if ($movie->hasAudio()) {
         $track->setAcodec($movie->getAudioCodec());
         $track->setChannels($movie->getAudioChannels());
     }
     $track->setOnlyAudio($only_audio);
 }
예제 #2
0
 printf("file name = %s\n", $mov->getFileName());
 printf("duration = %s seconds\n", $mov->getDuration());
 printf("frame count = %s\n", $mov->getFrameCount());
 printf("frame rate = %0.3f fps\n", $mov->getFrameRate());
 printf("comment = %s\n", $mov->getComment());
 printf("title = %s\n", $mov->getTitle());
 printf("author = %s\n", $mov->getAuthor());
 printf("copyright = %s\n", $mov->getCopyright());
 printf("get bit rate = %d\n", $mov->getBitRate());
 printf("has audio = %s\n", $mov->hasAudio() == 0 ? 'No' : 'Yes');
 if ($mov->hasAudio()) {
     printf("get audio stream id= %s\n", $mov->getAudioStreamId());
     printf("get audio codec = %s\n", $mov->getAudioCodec());
     printf("get audio bit rate = %d\n", $mov->getAudioBitRate());
     printf("get audio sample rate = %d \n", $mov->getAudioSampleRate());
     printf("get audio channels = %s\n", $mov->getAudioChannels());
 }
 printf("has video = %s\n", $mov->hasVideo() == 0 ? 'No' : 'Yes');
 if ($mov->hasVideo()) {
     printf("frame height = %d pixels\n", $mov->getFrameHeight());
     printf("frame width = %d pixels\n", $mov->getFrameWidth());
     printf("get video stream id= %s\n", $mov->getVideoStreamId());
     printf("get video codec = %s\n", $mov->getVideoCodec());
     printf("get video bit rate = %d\n", $mov->getVideoBitRate());
     printf("get pixel format = %s\n", $mov->getPixelFormat());
     printf("get pixel aspect ratio = %s\n", $mov->getPixelAspectRatio());
     $frame = $mov->getFrame(10);
     printf("get frame = %s\n", is_object($frame) ? 'true' : 'false');
     printf("  get frame number = %d\n", $mov->getFrameNumber());
     printf("  get frame width = %d\n", $frame->getWidth());
     printf("  get frame height = %d\n", $frame->getHeight());
예제 #3
0
 printf("<tr><td>file name:</td><td>%s<br/></td></tr>", $mov->getFileName());
 printf("<tr><td>duration</td><td>%s seconds<br/></td></tr>", $mov->getDuration());
 printf("<tr><td>frame count</td><td>%s<br/></td></tr>", $mov->getFrameCount());
 printf("<tr><td>frame rate</td><td>%0.3f fps<br/></td></tr>", $mov->getFrameRate());
 printf("<tr><td>comment</td><td>%s<br/></td></tr>", $mov->getComment());
 printf("<tr><td>title</td><td>%s<br/></td></tr>", $mov->getTitle());
 printf("<tr><td>author</td><td>%s<br/></td></tr>", $mov->getAuthor());
 printf("<tr><td>copyright</td><td>%s<br/></td></tr>", $mov->getCopyright());
 printf("<tr><td>get bit rate</td><td>%d<br/></td></tr>", $mov->getBitRate());
 printf("<tr><td>has audio</td><td>%s<br/></td></tr>", $mov->hasAudio() == 0 ? 'No' : 'Yes');
 if ($mov->hasAudio()) {
     printf("<tr><td>get audio stream id</td><td>%s<br/></td></tr>", $mov->getAudioStreamId());
     printf("<tr><td>get audio codec</td><td>%s<br/></td></tr>", $mov->getAudioCodec());
     printf("<tr><td>get audio bit rate</td><td>%d<br/></td></tr>", $mov->getAudioBitRate());
     printf("<tr><td>get audio sample rate</td><td>%d<br/></td></tr>", $mov->getAudioSampleRate());
     printf("<tr><td>get audio channels</td><td>%s<br/></td></tr>", $mov->getAudioChannels());
 }
 printf("<tr><td>has video</td><td>%s<br/></td></tr>", $mov->hasVideo() == 0 ? 'No' : 'Yes');
 if ($mov->hasVideo()) {
     printf("<tr><td>frame height</td><td>%d pixels<br/></td></tr>", $mov->getFrameHeight());
     printf("<tr><td>frame width</td><td>%d pixels<br/></td></tr>", $mov->getFrameWidth());
     printf("<tr><td>get video stream id</td><td>%s<br/></td></tr>", $mov->getVideoStreamId());
     printf("<tr><td>get video codec</td><td>%s<br/></td></tr>", $mov->getVideoCodec());
     printf("<tr><td>get video bit rate</td><td>%d<br/></td></tr>", $mov->getVideoBitRate());
     printf("<tr><td>get pixel format</td><td>%s<br/></td></tr>", $mov->getPixelFormat());
     printf("<tr><td>get pixel aspect ratio</td><td>%s<br/></td></tr>", $mov->getPixelAspectRatio());
     printf("<tr><td>get frame</td><td>%s<br/></td></tr>", is_object($mov->getFrame(10)) ? 'true' : 'false');
     printf("<tr><td>get frame number</td><td>%d<br/></td></tr>", $mov->getFrameNumber());
     $thumbpath = "{$i}.png";
     if (make_test_thumbnail(rand(1, 100), $mov->getFilename(), $thumbpath)) {
         printf('<tr><td>Random Thumbnail</td><td><img alt="Test Image" src="%s"/></td></tr>', $thumbpath);
예제 #4
0
    shell_exec("ffmpeg -threads {$th} -i {$tmp}{$pelnomf}.VOB -vcodec libx264 -vb {$bit} -maxrate {$bit} -bufsize 1000k -s hd720 -acodec libfaac -ab {$bita} -ac 2 {$diref}{$pelnomf}.mp4");
    shell_exec("rm -Rf {$tmp}{$pelnomf}");
    shell_exec("rm -Rf {$tmp}{$pelnomf}.VOB");
} else {
    //Formatos tradicionales de video
    $pelif = "../files/{$files5}";
    $varpel = new ffmpeg_movie($pelif);
    //obtener ancho y alto original del video
    $ancho = $varpel->getFrameWidth();
    $alto = $varpel->getFrameHeight();
    //Hz del audio
    $hz = $varpel->getAudioSampleRate();
    //Framer por segundo
    $fps = $varpel->getFrameRate();
    //Canales
    $canales = $varpel->getAudioChannels();
    // Formula para convertir alto equivalente para ancho 720
    $calcula = $HD * $alto / $ancho;
    if ($calcula % 2 == 0) {
        $altof = "{$calcula}";
    } else {
        $altof = ++$calcula;
    }
    // Fin de Formula
    //Resolucion
    $x = "x";
    if ($ancho >= $HD) {
        $resolucion = "{$HD}{$x}{$altof}";
    } else {
        $resolucion = "{$ancho}{$x}{$alto}";
    }