ffmpeg를 사용하여 데스크톱을 ffsever 서버로 스트리밍하려고 하는데 브라우저가 H.264(High profile) 비디오를 기본 및 하위 비디오만 재생하지 않는다는 것을 발견하여 추가했습니다.
-c:v libx264 -profile:v high -level:v 4.0
내 CLI 비트에 오류가 발생했습니다.
Undefined constant or missing '(' in 'high'
여기 내 CLI가 있습니다
ffmpeg -probesize 1000M -framerate 60 -video_size 1680x1050 -f x11grab -i :0.0 -f alsa -i default -c:a aac -c:v libx264 -profile:v high http://localhost:8090/feed1.ffm
그리고 여기 전체 로그가 있습니다
Press [q] to stop, [?] for help
[x11grab @ 0x55b5676c39e0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[mpeg1video @ 0x55b567710920] [Eval @ 0x7ffe6c87d5d0] Undefined constant or missing '(' in 'high'
[mpeg1video @ 0x55b567710920] Unable to parse option value "high"
[mpeg1video @ 0x55b567710920] Error setting option profile to value high.
Error initializing output stream 0:1 -- Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
[aac @ 0x55b56771d3e0] Qavg: -nan
[alsa @ 0x55b5676ccc00] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
Conversion failed!
편집하다: 여기 내 CLI가 있습니다
./ffmpeg -probesize 1000M -framerate 60 -video_size 1680x1050 -f x11grab -i :0.0 -f alsa -i default -c:a aac -c:v libx264 http://localhost:8090/feed1.ffm
그리고 여기 내꺼야ffserver.conf
<Stream h264>
Format webm
Feed feed1.ffm
VideoCodec libx264
VideoFrameRate 24
VideoBitRate 100
VideoSize 480x272
#AVPresetVideo default
#AVPresetVideo baseline
AVOptionVideo profile main
PixelFormat yuv420p
#
AudioCodec aac
AudioBitRate 32
AudioChannels 2
AudioSampleRate 22050
AVOptionAudio flags +global_header
</Stream>
그런 설정은 브라우저에 비디오가 표시되지 않습니다
답변1
libx264가 아닌 mpeg1video로 인코딩하고 있습니다.
mpeg1video는 -profile:v high
.
추측컨데 -c:v
, 다른 모든 출력 옵션은 FFM 출력에 대해 무시되고 인코더는 VideoCodec
in 에 의해 결정됩니다 ffserver.conf
. (그러나 나는 게으르고 확인하지 않았으며 에 대한 경험이 없습니다 ffserver
.) 설정이 없으면 에서 선택한 항목 VideoCodec
에 따라 기본 인코더가 선택될 가능성이 높습니다 .Format
ffserver.conf
섹션 에 다음 <Stream>
을 추가하세요.
VideoCodec libx264
AudioCodec aac
AVOptionVideo profile main
PixelFormat yuv420p