cashloveyou
@cashloveyou
Хороший чел

Не сохраняет видео wepbm?

Прошу помочь разобраться с сохранением файла трансляции после остановки трансляции блоб файл конвертируется в wepbm формат и должен сохранится на сервере все работало отлично но само по себе перестало в логах показывает код 200 успешно но
При сохранении указывается такой путь
/storage/uploads/1962/2017/livestreams/videob3f65ccf834ae340219ab8e50b5e7c8a.

хотя в функции указана непонятная папка merge пробывал создавать ее не выходит права выставлял
прошу помочь разобраться
function combineVideoAudio($video_file, $audio_file){
    $OSList = array
    (
    'Windows 3.11' => 'Win16',
    'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
    'Windows 98' => '(Windows 98)|(Win98)',
    'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
    'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
    'Windows Server 2003' => '(Windows NT 5.2)',
    'Windows Vista' => '(Windows NT 6.0)',
    'Windows 7' => '(Windows NT 7.0)',
    'Windows 8' => '(Windows NT 8.1)',
    'Windows 10' => '(Windows NT 10.0)',
    'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
    'Windows ME' => 'Windows ME',
    'Open BSD' => 'OpenBSD',
    'Sun OS' => 'SunOS',
    'Linux' => '(Linux)|(X11)',
    'Mac OS' => '(Mac_PowerPC)|(Macintosh)',
    'QNX' => 'QNX',
    'BeOS' => 'BeOS',
    'OS/2' => 'OS/2',
    'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'
    );
    foreach($OSList as $CurrOS=>$Match) if (preg_match("/".$Match."/i", $_SERVER['HTTP_USER_AGENT'])) break;
	$merge_dir = path('storage/uploads/'.get_userid().'/'.date('Y').'/livestreams/merged');
	@mkdir($merge_dir, 0777);
	$merged_file = $merge_dir.'/'.time().rand(0, 999).'.webm';
	//exec(config('video-ffmpeg-path').' -i '.$audio_file.' -vn -acodec copy '.$audio_file.'.oga 2>&1', $out, $ret);
	exit(var_dump($audio_file, $video_file));
	if(!strrpos($CurrOS, "Windows")) $cmd = '-i '.$audio_file.' -i '.$video_file.' -map 0:0 -map 1:0 '.$merged_file;
	else $cmd = ' -i '.$audio_file.'.oga -i '.$video_file.' -c:v mpeg4 -c:a vorbis -b:v 64k -b:a 12k -strict experimental '.$merged_file;
	
	exec(config('video-ffmpeg-path').' '.$cmd.' 2>&1', $out, $ret);
//	exit(var_dump($out, $ret));
	if ($ret){
		return ['status'=> 0, 'message' => $out];
	} else {
		unlink(path($audio_file));
		unlink(path($video_file));
		return ['status'=> 1, 'message' => "Ffmpeg successfully merged audio/video files into single WebM container!\n", 'file_path' => $merged_file];
	}
}
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы