diff --git a/NetworkToolkit.cpp b/NetworkToolkit.cpp index 6f0b88e..3f4d7de 100644 --- a/NetworkToolkit.cpp +++ b/NetworkToolkit.cpp @@ -100,7 +100,7 @@ const std::vector NetworkToolkit::protocol_send_pipeline { "video/x-raw, format=RGB, framerate=30/1 ! queue max-size-buffers=3 ! rtpvrawpay ! application/x-rtp,sampling=RGB ! udpsink name=sink", "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=10 ! jpegenc quality=85 ! rtpjpegpay ! udpsink name=sink", - "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=10 ! x264enc tune=\"zerolatency\" pass=4 quantizer=22 speed-preset=2 ! rtph264pay ! udpsink name=sink", + "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=10 ! x264enc tune=\"zerolatency\" pass=4 quantizer=22 speed-preset=2 ! rtph264pay aggregate-mode=1 ! udpsink name=sink", "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=3 ! jpegenc idct-method=float ! rtpjpegpay ! rtpstreampay ! tcpserversink name=sink", "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=3 ! x264enc tune=\"zerolatency\" threads=2 ! rtph264pay ! rtpstreampay ! tcpserversink name=sink", "video/x-raw, format=RGB, framerate=30/1 ! queue max-size-buffers=10 ! shmsink buffer-time=100000 wait-for-connection=true name=sink" @@ -117,9 +117,9 @@ const std::vector NetworkToolkit::protocol_receive_pipeline { }; const std::vector< std::pair > NetworkToolkit::protocol_h264_send_pipeline { - {"vtenc_h264_hw", "video/x-raw, format=I420 ! vtenc_h264_hw realtime=1 allow-frame-reordering=0 ! rtph264pay ! udpsink name=sink"}, - {"nvh264enc", "video/x-raw, format=RGBA ! nvh264enc rc-mode=1 zerolatency=true ! video/x-h264, profile=(string)main ! rtph264pay ! udpsink name=sink"}, - {"vaapih264enc", "video/x-raw, format=NV12 ! vaapih264enc rate-control=cqp init-qp=26 ! video/x-h264, profile=(string)main ! rtph264pay ! udpsink name=sink"} +// {"vtenc_h264_hw", "video/x-raw, format=I420, framerate=30/1 ! queue max-size-buffers=10 ! vtenc_h264_hw realtime=1 allow-frame-reordering=0 ! rtph264pay aggregate-mode=1 ! udpsink name=sink"}, + {"nvh264enc", "video/x-raw, format=RGBA, framerate=30/1 ! queue max-size-buffers=10 ! nvh264enc rc-mode=1 zerolatency=true ! video/x-h264, profile=(string)main ! rtph264pay aggregate-mode=1 ! udpsink name=sink"}, + {"vaapih264enc", "video/x-raw, format=NV12, framerate=30/1 ! queue max-size-buffers=10 ! vaapih264enc rate-control=cqp init-qp=26 ! video/x-h264, profile=(string)main ! rtph264pay aggregate-mode=1 ! udpsink name=sink"} }; bool initialized_ = false; diff --git a/Stream.cpp b/Stream.cpp index 54efdc2..f089b0c 100644 --- a/Stream.cpp +++ b/Stream.cpp @@ -157,7 +157,7 @@ StreamInfo StreamDiscoverer(const std::string &description, guint w, guint h) // wait for the callback_stream_discoverer to return, no more than 4 sec std::mutex mtx; std::unique_lock lck(mtx); - if ( info.discovered.wait_for(lck,std::chrono::seconds(TIMEOUT*2)) == std::cv_status::timeout) + if ( info.discovered.wait_for(lck,std::chrono::seconds(TIMEOUT)) == std::cv_status::timeout) info.message = "Time out"; } diff --git a/Stream.h b/Stream.h index 4b20bef..c09af83 100644 --- a/Stream.h +++ b/Stream.h @@ -15,7 +15,7 @@ class Visitor; #define N_FRAME 3 -#define TIMEOUT 5 +#define TIMEOUT 10 struct StreamInfo { diff --git a/Streamer.cpp b/Streamer.cpp index e1a64a0..8b952cf 100644 --- a/Streamer.cpp +++ b/Streamer.cpp @@ -348,7 +348,7 @@ std::string VideoStreamer::init(GstCaps *caps) if ( GstToolkit::has_feature(config->first) ) { description += config->second; found_harware_acceleration = true; - Log::Info("Video Streamer : Hardware accelerated encoder (%s)", config->first.c_str()); + Log::Info("Video Streamer using hardware accelerated encoder (%s)", config->first.c_str()); break; } }