2011-07-16 7 views
0

사용자가 비디오를 업로드 할 때 두 번 변환합니다. 높은 입술과 낮은 입술. 업로드 처리 스크립트에서 popen()을 사용하고 각 변환에 대해 linux ffmpeg 변환 명령을 실행합니다. 하나의 변환을 사용했을 때 popen의 출력을 기반으로 진행률을 계산하고이를 데이터베이스 테이블 (conversion_progress)에 넣은 다음 출력 결과를 프로세스로 업데이트했습니다.진행중인 두 프로세스의 진행 과정

이제는 내 conversion_progress 테이블에 두 개의 항목을 삽입하고 각 진행 상황의 차이를 계산합니다. 그러나 select 문을 사용할 때 두 항목 모두 동일한 vid_id를 갖기 때문에 두 행이 반환되므로 각 프로세스를 구분할 수 없습니다. 필요가 없으며 두 행 평균을 얻고 싶습니다. 누구든지 이것에 대한 제안이 있습니까?

$sql = 'SELECT progress from conv_progress WHERE vid_id=?'; 
$stmt4 = $conn->prepare($sql); 
$result=$stmt4->execute(array('123')) or die(print_r($db->errorInfo(), true)); 
while ($row=$stmt4->fetch(PDO::FETCH_ASSOC)){ 
$data['progress']=$row['progress']; 
} 

    $out = json_encode($data); 
    print $out; 

은 업로드가 50 %이고 다른 하나가 70 % 인 것을 의미하는 5070을 반환합니다. foreach 또는 뭔가를 사용하여 계산을 수행 할 수 있습니까?

답변

1

당신은 MySQL이 평균을 수 있도록 할 수 있습니다 :

$sql = 'SELECT AVG(progress) AS progress from conv_progress WHERE vid_id=? GROUP BY vid_id'; 
+0

완벽한, 덕분에 남자. – Scarface