proper concat for hourlies
proper concat for hourlies

<?php <?php
include('common.inc.php'); include('common.inc.php');
function processHourly($hourly) { function processHourly($hourly) {
$filename = $hourly['tgid'].'-'.str_replace(' 00:00:00+1','',$hourly['aday']).'-'.$hourly['ahour'].'.3gp'; $filename = $hourly['tgid'].'-'.str_replace(' 00:00:00+1','',$hourly['aday']).'-'.$hourly['ahour'].'.3gp';
   
if(!file_exists("hourly/".$filename)) { if(!file_exists("hourly/".$filename)) {
   
$filenames = explode(",",$hourly['filenames']); $filenames = explode(",",$hourly['filenames']);
$cmd = "/usr/local/bin/ffmpeg -i data/".implode(" -i data/",$filenames)." -ar 8000 -ab 4.75k -ac 1 hourly/".$filename . ' 2>&1'; $cmd = "/usr/local/bin/ffmpeg -filter_complex concat=n=".count($filenames).":v=0:a=1 -i data/".implode(" -i data/",$filenames)." -ar 8000 -ab 4.75k -ac 1 hourly/".$filename . ' 2>&1';
//print_r($hourly); //print_r($hourly);
exec ( $cmd,$output,$returncode ); exec ( $cmd,$output,$returncode );
echo $cmd."<br>\n"; echo $cmd."<br>\n";
if ($returncode != 10) { if ($returncode != 10) {
//print_r($output); //print_r($output);
//die(); //die();
} }
} }
} }
$sth = $conn->prepare("select tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by tgid, ahour, aday order by aday DESC, ahour, tgid;"); $sth = $conn->prepare("select tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by tgid, ahour, aday order by aday DESC, ahour, tgid;");
   
$sth->execute(); $sth->execute();
$hourlies = $sth->fetchAll(PDO::FETCH_ASSOC); $hourlies = $sth->fetchAll(PDO::FETCH_ASSOC);
foreach($hourlies as $hourly) { foreach($hourlies as $hourly) {
//processHourly($hourly); processHourly($hourly);
} }
$sth = $conn->prepare("select 'hour' as tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by ahour, aday order by aday DESC, ahour;"); $sth = $conn->prepare("select 'hour' as tgid, extract(hour from call_timestamp) ahour, date_trunc('day', call_timestamp) aday, count(filename), array_to_string(array_agg(filename order by call_timestamp), ',') filenames from recordings group by ahour, aday order by aday DESC, ahour;");
   
$sth->execute(); $sth->execute();
$hourlies = $sth->fetchAll(PDO::FETCH_ASSOC); $hourlies = $sth->fetchAll(PDO::FETCH_ASSOC);
foreach($hourlies as $hourly) { foreach($hourlies as $hourly) {
processHourly($hourly); processHourly($hourly);
} }