에 비디오를 저장합니다. 웹캠은 하드웨어 h.264 인코더가있는 Logitech c920입니다.avconv 동시에 USB 웹캠에서 스트리밍 및 디스크
그래서 나는 -c:v copy
옵션을 사용하고, 미디어를 재 인코딩하지 않습니다. 그것은 콘텐츠를 스트리밍 및 디스크에 저장할 수 있습니다 '의미하지만,이 방법의 문제는 비디오가에 의존하는 파일입니다 -
#! /bin/bash
SOURCEV="/dev/video0"
SOURCEA="hw:1"
FILE_TO_SAVE="Archive/file_to_save.mp4"
YOUTUBE_URL="rtmp://x.rtmp.youtube.com/live2"
KEY="my-secret-key"
avconv -f alsa -ac 2 -r 44100 -i $SOURCEA \
-s 1920x1080 -r 24 -c:v h264 -i "$SOURCEV" \
-ar "44100" -r:v 24 -c:a aac -c:v copy -s 1920x1080 -f mp4 "$FILE_TO_SAVE" \
-g $FPS*4 -ar "44100" -b:a "128k" -ac 2 -r 24 -c:a aac -c:v copy -s 1920x1080 -f flv "$YOUTUBE_URL/$KEY"
이 방법은 "작동"
전체 스크립트는 다음과 같습니다 흐름. 예를 들어 인터넷 연결이 너무 느리면 저장된 파일의 FPS가 낮습니다. 인터넷 연결이 중단되면 비디오 파일의 "녹음"이 중지됩니다.
사람이 두 개의 스트림은 독립적으로 만들기를 도와 줄 수 있습니까?
전체 일들이 라즈베리 파이 3에 일어나고있는 것은 그래서 전력을 계산하는 것은 매우 제한됩니다.
감사합니다. 매우 안정적으로 작동하는 것 같지만 YouTube에서 내 키 프레임 간격을 10 초로 경고합니다. 그것을 단축시킬 방법이 있습니까? 이 주제를 읽었습니다 : [link] (https://github.com/raspberrypi/linux/issues/593) 하지만 내 h264_i_frame_period 컨트롤이 없습니다. 까다로운 yhing은 guvcview를 사용하여 iframe intervel을 설정할 수 있지만이 설정은 현재 guvcview 인스턴스에만 적용되는 것 같습니다. – BojowyZajaczek
이것은 인코더 특정 설정이며 nginx는 비디오를 코드 변환하지 않습니다. – bukkojot
나는 이것이 nginx에 의해 제어되지 않는다는 것을 압니다. 그냥 물어 보지 않으려 고/다른 질문을 엽니 다. 누군가 엔코더 키 프레임 간격을 100 프레임으로 설정하는 방법을 알고 있을까요? – BojowyZajaczek