Home
>
Forum
>
SDK RTMP protocol cannot be used
SDK RTMP protocol cannot be used
Jan 20 (15 days ago)
test
wrote
VideoCaptureCore videoCaptureCore = new VideoCaptureCore();
videoCaptureCore.Mode = VideoCaptureMode.ScreenCapture;
ScreenCaptureSourceSettings sourceSettings = new ScreenCaptureSourceSettings
{
FullScreen = false,
WindowHandle = mainWindowHandle,
FrameRate = VideoFrameRate.FPS_25,
GrabMouseCursor = true,
Mode = ScreenCaptureMode.Window
};
videoCaptureCore.Screen_Capture_Source = sourceSettings;
videoCaptureCore.Audio_RecordAudio = videoCaptureCore.Audio_PlayAudio = false;
// videoCaptureCore.Output_Filename = videoPath;
videoCaptureCore.Network_Streaming_Enabled = true;
videoCaptureCore.Network_Streaming_Audio_Enabled = false;
videoCaptureCore.Network_Streaming_Format = NetworkStreamingFormat.RTMP_FFMPEG_EXE;
FFMPEGEXEOutput ffmpegOutput = new FFMPEGEXEOutput();
ffmpegOutput.FillDefaults(DefaultsProfile.MP4_H264_AAC,true);
MP4Output mp4Output = new MP4Output();
videoCaptureCore.Output_Format = mp4Output;
videoCaptureCore.Debug_Mode = true;
videoCaptureCore.Debug_Dir = "E:\\bug";
videoCaptureCore.Network_Streaming_Output = ffmpegOutput;
videoCaptureCore.Network_Streaming_URL = "rtmp://172.24.27.75/live/test";
videoCaptureCore.start();
The above code encountered an error while pushing streams to the RTMP service
The following is the debug error log:
2025-01-21 14:52:38.124 +08:00 [Debug] [VideoCaptureCore][CaptureMain] Starting graph...Done.
2025-01-21 14:52:38.259 +08:00 [Error] [DSFFMPEGEXEPipeOutput][videoConv_LogReceived] [h264_qsv encoder @ 0000026251C9F040] [Eval @ 000000C0F1F6E260] Undefined constant or missing '(' in '$0'
2025-01-21 14:52:38.263 +08:00 [Error] [FFMpegConverter][Invoke] [h264_qsv encoder @ 0000026251C9F040] [Eval @ 000000C0F1F6E260] Undefined constant or missing '(' in '$0' (exit code: 1)
2025-01-21 14:52:38.275 +08:00 [Error] [DSFFMPEGEXEPipeOutput][StartBeforeRun] Write to pipe failed (0): System.IO.IOException: 管道已中断。
在 System.IO.Pipes.PipeStream.WinIOError(Int32 errorCode)
在 System.IO.Pipes.PipeStream.EndWrite(IAsyncResult asyncResult)
在 System.IO.Pipes.PipeStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
在 VisioForge.Core.DirectShow.Classes.DSFFMPEGEXEPipeOutput.<StartBeforeRun>b__24_2()
2025-01-21 14:52:38.569 +08:00 [Error] [DSFFMPEGEXEPipeOutput][StartBeforeRun] FFMPEG start error: VisioForge.Core.FFMPEGEXEv2.FFMpegException: [h264_qsv encoder @ 0000026251C9F040] [Eval @ 000000C0F1F6E260] Undefined constant or missing '(' in '$0' (exit code: 1)
在 VisioForge.Core.FFMPEGEXEv2.FFMpegConverter.Invoke(String ffmpegArgs)
在 VisioForge.Core.DirectShow.Classes.DSFFMPEGEXEPipeOutput.<StartBeforeRun>b__24_0()
2025-01-21 14:52:38.620 +08:00 [Error] [DSFFMPEGEXEPipeOutput][videoConv_LogReceived] [h264_qsv encoder @ 0000026251C9F040] Unable to parse option value "$0"
2025-01-21 14:52:38.650 +08:00 [Error] [DSFFMPEGEXEPipeOutput][videoConv_LogReceived] [h264_qsv encoder @ 0000026251C9F040] Error setting option look_ahead_depth to value $0.
2025-01-21 14:52:38.660 +08:00 [Error] [DSFFMPEGEXEPipeOutput][videoConv_LogReceived] Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
How should I use this SDK?
Reply
Log in please
Login
Username (Email)
Password
Verification Code
I forgot it
Login
Do not have an account?
Register
3 Answers
Jan 21 (15 days ago)
Roman Miniailov
agent
wrote
Hi
Let me check.
Jan 21 (14 days ago)
Roman Miniailov
agent
wrote
Please update SDK to v2025.1.11 or above.
We've resolved an "$" in the parameter for the QSV H264 encoder.
In your code, fill in the profile for FLV used for RTMP streaming, not for MP4.
ffmpegOutput.FillDefaults(DefaultsProfile.FLV_H264_AAC, true);
Jan 21 (14 days ago)
test
wrote
Since updating the SDK to v2025.1.11, the stream has been successfully pushed to the server.
Thank you for your help.
Login
My tickets
Submit ticket
Help desk software by
LiveAgent