출력 형식이 올바르지 않습니다. 여기에서 고려해야 할 두 가지 요소가 있습니다
- 은 "컨테이너 형식"또는 전체 파일 (예 : AVI, MOV/퀵타임, WebM을, 오그)를 배치하는 방법입니다 "파일 형식",
- "코덱"은 컨테이너 내의 비디오 및 오디오 데이터를 압축하고 압축을 푸는 데 사용되는 알고리즘입니다. 대부분의 파일에는 음성 용 (예 : AAC, Vorbis, MP3, Opus) 코덱과 비디오 용 (예 : H.264, VP8, Theora)의 두 코덱이 있습니다.
ffmpeg는 VLC 플레이어처럼 다양한 형식과 코덱을 읽고 쓸 수 있습니다. QuickTime도 그렇지만 많지는 않습니다. 그러나 브라우저는 훨씬 까다 롭습니다. 브라우저가 지원하지 않는 "AVI"컨테이너 형식으로 파일을 저장합니다. 그리고 아마도 libx264
을 코덱으로 사용해야하는데, H.264 비디오를 출력하고 MPEG-4 Part 2 비디오를 출력하는 mpeg4
보다 조금 더 널리 사용되고 안정적입니다.
이 시도 :는 FFmpeg은 출력 파일 확장자의 형식을 추론 할 수 있기 때문에
$video_url = '../../../uploads/myvideo.mp4';
$watermarked = '../../../uploads/watermarked_video.mp4';
exec("ffmpeg -i $video_url -i sos.png -filter_complex \"[1:v]crop=iw:ih:0:0:dar [img]; [0:v] [img] overlay=(W-w)/2:(H-h)/2 [out]\" -map \"[out]\" -map 0:a -vcodec libx264 -acodec copy $watermarked"); //creating water marked video
나는 -f
매개 변수를 제거했습니다.
동영상 필터가 필요하지 않으므로 예제에서 제거되었습니다.
-vf
은 -filter_complex
으로 대체되었습니다. 차이점을 확인하려면 simple 및 complex 필터링을 참조하십시오.
이 예제의 오디오는 다시 인코딩되지 않고 인 stream copied이됩니다.
워터 마크가 찍힌 동영상은 무엇인가요? 나는 1 분 안에 3 퀴즈를 봤어! 어쨌든, 당신의 웹 플레이어는 ffmpeg를 지원합니까? –
아니요, 워터 마크가있는 mp4 비디오가 생성됩니다. 브라우저에서 html5 비디오 플레이어로 재생하지 마십시오 –
웹 (html5 플레이어)은 다른 것을 설치하지 않고 ffmpeg 형식을 지원합니까? –