<?php
//
// concatenate videos (using ffmpeg and named pipes)
//
// Winelfred G. Pasamba c2011
//

if ($argc <= 1) {
  die ("usage: php joinvideos.php video1 video2 video3 ... videoall\n");
}

$phpfile = array_shift ($argv);
echo "# php file is: $phpfile\n";

$finalfile = array_pop($argv);
echo "# final file is: $finalfile\n";

foreach ($argv as $arg) {
  echo "# Making pipe: fifo.$arg.mpg \n";
  $cmd =  "mkfifo fifo.$arg.mpg\n";
  `$cmd`;
}

foreach ($argv as $arg) {
  echo "# Preparing pipe source: $arg\n";
  $cmd = "ffmpeg -i $arg -sameq -y fifo.$arg.mpg > /dev/null < /dev/null&\n";
  echo $cmd;
  `$cmd`;
}

$cmd = "cat ";
foreach ($argv as $arg) {
  $cmd .= "fifo.$arg.mpg ";
}
//$cmd .= " | ffmpeg -f mpeg -i - -sameq -vcodec libx264 -vpre medium
-ac 1 -ab 128k $finalfile";
$cmd .= " | ffmpeg -f mpeg -i - -sameq -vcodec libx264 -vpre medium $finalfile";
echo "# Executing: $cmd\n";
echo $cmd."\n";
`$cmd`;

foreach ($argv as $arg) {
  echo "# Removing pipe: fifo.$arg.mpg\n";
  $cmd = "rm fifo.$arg.mpg"."\n";
  `$cmd`;
}

if someone can add more sense to this, that would be welcome :)
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Reply via email to