반응형
ffprobe -show_streams [테스트영상]
라고 치면 동영상 정보들이 쭈루루룰루루루룩 나온다..
[root@centos-s-1vcpu-1gb-sfo3-01 file]# ffprobe -show_streams M_20080305000300000047731701.flv
나는 폴더 안에있는 영상들을 하나하나씩 다 읽어들여서 비교한다음에 인코딩을 할건지 안할건지 정할거기떄문에...
결국.. 이 ffprobe 결과값을 변수값에 넣던가 해야한다.. 흐엉..
ffprobe 로 일반 동영상 정보를 확인하면
[STREAM] 값 아래로
index=0 비디오 스팩정보 ,
index=1 audio 스팩정보
이렇게 두개의 대전재값으로 정보들이 보여진다.
이 모든값을 내가 손으로 꽉 쥐고싶다.
시나리오
1.[STREAM] 아래에 있는 정보 값만 먼저 잘라낸다.
2.index=0 ,1 로 오디오와 비디오 정보값만 잘라낸다
3.정규식으로 값만 뽑아 본다
4.배열에 값을 넣는다.
1.[STREAM] 아래에 있는 정보 값만 먼저 잘라낸다.
$alldata = substr( $output, strpos($output,"[STREAM]"), -1);
2.index=0 ,1 로 오디오와 비디오 정보값만 잘라낸다
$a=substr( $alldata, strpos($alldata,"index=0"), strpos($alldata,"[/STREAM]"));
$b=substr( $alldata, strpos($alldata,"index=1"), -1);
3.정규식으로 값만 뽑아 본다
4.배열에 값을 넣는다.
preg_match_all('/(.*)=(.*)/i', $a, $matches);
$video_info = [];
if(!empty($matches)) {
foreach($matches[1] as $k => $v) {
$video_info[$v] = $matches[2][$k];
}
}
preg_match_all('/(.*)=(.*)/i', $b, $matches);
$video_info2 = [];
if(!empty($matches)) {
foreach($matches[1] as $k => $v) {
$video_info2[$v] = $matches[2][$k];
}
}
실행값
print_r($video_info);
print_r($video_info2);
video값.
audio값.
풀코드
$output= shell_exec('/usr/bin/ffprobe -show_streams M_20080305000300000047731701.flv 2>&1;');
//
//STREAM 기준으로 자르기
$alldata = substr( $output, strpos($output,"[STREAM]"), -1);
$a=substr( $alldata, strpos($alldata,"index=0"), strpos($alldata,"[/STREAM]"));
$b=substr( $alldata, strpos($alldata,"index=1"), -1);
preg_match_all('/(.*)=(.*)/i', $a, $matches);
$video_info = [];
if(!empty($matches)) {
foreach($matches[1] as $k => $v) {
$video_info[$v] = $matches[2][$k];
}
}
preg_match_all('/(.*)=(.*)/i', $b, $matches);
$video_info2 = [];
if(!empty($matches)) {
foreach($matches[1] as $k => $v) {
$video_info2[$v] = $matches[2][$k];
}
}
print_r($video_info);
print_r($video_info2);
반응형
'이과 > FFMPEG' 카테고리의 다른 글
[FFMPEG] ffmpeg로 파일안에있는 동영상 전체 인코딩 (2) | 2022.04.28 |
---|---|
[FFMPEG] ajax + ffmpeg + exec 파일 받아서 변환 코드 (1) | 2022.04.27 |
[FFMPEG] exec 명령어가 안먹는다 (1) | 2022.04.26 |
[FFMPEG] php 파일 업로드 용량 조절 (4) | 2022.04.25 |
[FFMPEG] FFmpeg 명령어 사용하기. (1) | 2022.04.22 |
댓글