Wie kann ich -profile main in ffmpeg beim Steamen einstellen

Wie kann ich -profile main in ffmpeg beim Steamen einstellen

Ich versuche, meinen Desktop mit ffmpeg auf den ffsever-Server zu streamen und habe festgestellt, dass der Browser keine H.264-Videos (High Profile) abspielt, nur Main- und Lower-Videos, also habe ich hinzugefügt

-c:v libx264 -profile:v high -level:v 4.0

zu meinem CLI-Bit erhalte ich eine Fehlermeldung

Undefined constant or missing '(' in 'high'

hier ist meine 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

und hier ist das ganze Protokoll

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!

BEARBEITEN: Also hier ist meine 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

Und hier ist meinesffserver.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>

und so eingerichtet wird kein Video im Browser angezeigt

Antwort1

Sie codieren mit mpeg1video, nicht mit libx264.

mpeg1video wird nicht unterstützt -profile:v high.

Ich vermute -c:v, und alle anderen Ausgabeoptionen werden für die FFM-Ausgabe ignoriert und der Encoder wird durch VideoCodecin bestimmt ffserver.conf. (Aber ich war faul und habe das nicht bestätigt und habe keine Erfahrung mit ffserver.) Wenn Sie nichts VideoCodecfestgelegt haben, wird wahrscheinlich ein Standard-Encoder ausgewählt, der durch das gewählte Formatin bestimmt wird ffserver.conf.

Fügen Sie Ihrem <Stream>Abschnitt hinzu:

VideoCodec libx264
AudioCodec aac
AVOptionVideo profile main
PixelFormat yuv420p

verwandte Informationen