・前提条件
TV録画予約システム構築(vrs)が導入済であること

・インストール手順
(1)ffmpegインストール
$ su - ← rootになる

# yum -y --enablerepo=atrpms install ffmpeg ← ffmpegインストール

(2)携帯動画リンク表示
# vi /var/www/vrs/lib/ArchiveViewerContents.php
						<td>
							<?php $link = $controller->searchMovieFileName( $reservation );
							if( $link == NULL ) { ?>
								NO Image
							<?php } else { ?>
								<a href="<?php echo $controller->searchMovieFileName( $reservation ); ?>">
							 	<img src="<?php echo $controller->getThumbImageFileName( $reservation ); ?> "
									width="150" ALIGN="middle">
								(<?php echo exec( "ls -lh ".$controller->searchMovieFileName( $reservation )." | awk '{ print $5 }'" ); ?>)
								</a><a href="<?php echo $controller->searchMobileMovieFileName( $reservation ); ?>"> ← 追加
								(<?php echo exec( "ls -lh ".$controller->searchMobileMovieFileName( $reservation )." | awk '{ print $5 }'" ); ?>)</a> ← 追加
							<?php } ?>

							<?php $link = $controller->search2ndMovieFileName( $reservation );
							if( $link != NULL ) { ?>
								<br><a href="<?php echo $controller->search2ndMovieFileName( $reservation ); ?>">
							 	AVI File
								(<?php echo exec( "ls -lh ".$controller->search2ndMovieFileName( $reservation )." | awk '{ print $5 }'" ); ?>)
							<?php } ?>
						</td>

(3)携帯動画関連設定
# vi /var/www/vrs/lib/ReservationController.php
変更部分1
		// 日付生成
		$recordDate = date( "H:i m/d/Y", $startTime );
		// Debugモードでのダミー処理
		if( DEBUG_MODE == "true" ) {
			$f = fopen( "hoge", "w" );
			fwrite( $f, $command."\n" );
			fclose( $f );
			return rand(0, 999999); // DUMMY
		}
−−携帯動画作成コマンド追加(ここから)
		$output = $reservation->getOutputName();
		$outputFileName = SPOOL_DIRECTORY."/".$output;
		$mobileMovieCommand = "ffmpeg -y -i ".$outputFileName.".mpg "."-vcodec mpeg4 -r 14.985 -b 192k -acodec aac -ar 24000 -ab 64 -ac 2 -qmax 9 -g 300 -s 320x240 -f 3gp ".$outputFileName.".3gp"; ← ffmpegの使い方分かれば、オプション設定変更可 ※録画ファイルをaviにしている場合、拡張子mpgをaviに変更すること
		$command = $command."; sleep 1; ".$mobileMovieCommand;
−−携帯動画作成コマンド追加(ここまで)
		// 登録
		$resultString = exec( "echo \"{$command}\" | at {$recordDate} 2>&1" ); 


変更部分2
		// 動画削除
		$movieFileName = $this->search2ndMovieFileName($reservation );
		if( file_exists( $movieFileName ) ) {
			unlink( $movieFileName );
		}
 		$movieFileName = $this->searchMovieFileName( $reservation );
		if( file_exists( $movieFileName ) ) {
			unlink( $movieFileName );
		}
−−携帯動画削除追加(ここから)
		$mobileMovieFileName = $this->searchMobileMovieFileName( $reservation );
		if( file_exists( $mobileMovieFileName ) ) {
			unlink( $mobileMovieFileName );
		}
−−携帯動画削除追加(ここまで)
		// ATのJob削除
		$this->unregistFromAtd( $reservation );


変更部分3
	function deleteProgramCache(
		$parameter	//!< [in] GET/POSTされたパラメータ
		)
	{
		$command = new DeleteProgramCacheCommandParser( $parameter );
		$command->parse();
	}
−−携帯動画検索処理追加(ここから)

	function searchMobileMovieFileName(
		$reservation
		)
	{
		$outputName = $reservation->getOutputName();
		$movName = SPOOL_DIRECTORY."/".$outputName.".3gp";
		if( file_exists( $movName ) ) {
			return $movName;
		}
		return NULL;
	}
−−携帯動画検索処理追加(ここまで)
}
?>

トップページへ