ffserver를 통해 비디오를 스트리밍하고 싶습니다. 내 비디오는 mkv 및 avi와 같은 컨테이너 형식으로 되어 있으며 때로는 여러 오디오/비디오 트랙이 포함되어 있습니다. 어떤 트랙을 사용할지 ffserver에 어떻게 알립니까? 항상 첫 번째를 취하는 것 같습니다.
답변1
당신이 보면이 페이지ffmpeg를 사용하여 슬라이스한 다음 ffserver로 전달하는 기술을 보여줍니다.
$ ffmpeg \
-f v4l2 -s 320x240 -r 25 -i /dev/video0 \
-f alsa -ac 1 -i hw:0 \
http://localhost:8090/feed1.ffm
위 명령은 다음을 수행합니다.
- 첫 번째 부분은
-f v4l2 -s 320x240 -r 25 -i /dev/video0
웹캠 비디오의 첫 번째 입력을 나타내며ffmpeg
웹캠 비디오를 캡처합니다. 자세한 내용은 웹캠 입력 캡처 방법을 참조하세요. - 두 번째 부분은
-f alsa -ac 1 -i hw:0
두 번째 입력을 나타내며ffmpeg
시스템 오디오 구성에 따라 오디오를 캡처합니다. 자세한 내용은 FFmpeg 및 ALSA를 사용한 오디오 캡처에 대한 자세한 내용을 참조하세요. - 마지막이지만 중요한 부분은
http://localhost:8090/feed1.ffm
ffmpeg에 ffserver에 연결하고 방송용 오디오 + 비디오 스트림을 보내도록 지시하는 피드 URL을 나타냅니다. 이 예에서는 모든 것이 우리 컴퓨터에서 실행되고 있음을 의미하는 호스트 이름을 사용하고 있지만 라이브 온라인 ffserver에 데이터를 공급해야 하는 경우 이를 ffserver 컴퓨터의 실제 호스트 이름이나 IP 주소로localhost
변경해야 합니다 .localhost
또한 피드 이름이.ffm
로 끝나는지 확인하고, 그렇지 않은 경우 아래와 같이-f ffm
피드 URL 앞에 출력 형식을 추가하여 수동으로 지정하십시오( 더 이상 자동으로 결정되지 않음) .ffmpeg
-f ffm http://localhost:8090/blah.bleh
위 명령을 입력하면 ffmpeg가 입력 스트림에 대한 일부 통계를 표시하고 출력 프레임을 계산하는 것을 볼 수 있습니다. 이는 (지금까지) 모든 것이 제대로 작동하고 있다는 좋은 신호입니다.