- مطمئن شوید که یک نسخه فعال از MediaPipe Framework دارید. دستورالعمل نصب را ببینید. 
- برای اجرای مثال - hello world:- $ git clone https://github.com/google/mediapipe.git $ cd mediapipe $ export GLOG_logtostderr=1 # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is not supported currently. $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \ mediapipe/examples/desktop/hello_world:hello_world # It should print 10 rows of Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World! # Hello World!
- مثال - hello worldاز یک نمودار MediaPipe ساده در تابع- PrintHelloWorld()استفاده می کند که در پروتو- CalculatorGraphConfigتعریف شده است.- absl::Status PrintHelloWorld() { // Configures a simple graph, which concatenates 2 PassThroughCalculators. CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"( input_stream: "in" output_stream: "out" node { calculator: "PassThroughCalculator" input_stream: "in" output_stream: "out1" } node { calculator: "PassThroughCalculator" input_stream: "out1" output_stream: "out" } )");- می توانید با چسباندن محتوای CalculatorGraphConfig زیر در ویژوالایزر، این نمودار را با استفاده از MediaPipe Visualizer تجسم کنید. برای راهنمایی در مورد ویژوالایزر اینجا را ببینید. - input_stream: "in" output_stream: "out" node { calculator: "PassThroughCalculator" input_stream: "in" output_stream: "out1" } node { calculator: "PassThroughCalculator" input_stream: "out1" output_stream: "out" }- این نمودار شامل 1 جریان ورودی گراف ( - in) و 1 جریان خروجی گراف (- out) و 2- PassThroughCalculatorاست که به صورت سریال متصل شده اند. 
- قبل از اجرای نمودار، یک شی - OutputStreamPollerبه جریان خروجی متصل می شود تا بعداً خروجی نمودار را بازیابی کند، و اجرای گراف با- StartRunشروع می شود.- CalculatorGraph graph; MP_RETURN_IF_ERROR(graph.Initialize(config)); MP_ASSIGN_OR_RETURN(OutputStreamPoller poller, graph.AddOutputStreamPoller("out")); MP_RETURN_IF_ERROR(graph.StartRun({}));
- سپس این مثال با استفاده از تابع - MakePacket10 بسته را ایجاد می کند (هر بسته حاوی یک رشته "Hello World!" با مقادیر Timestamp از 0، 1، ... 9 است)، هر بسته را از طریق جریان- inبه نمودار اضافه می کند، و در نهایت جریان ورودی را می بندد تا اجرای نمودار تمام شود.- for (int i = 0; i < 10; ++i) { MP_RETURN_IF_ERROR(graph.AddPacketToInputStream("in", MakePacket<std::string>("Hello World!").At(Timestamp(i)))); } MP_RETURN_IF_ERROR(graph.CloseInputStream("in"));
- از طریق شی - OutputStreamPoller، نمونه تمام 10 بسته را از جریان خروجی بازیابی می کند، محتوای رشته را از هر بسته خارج می کند و آن را در گزارش خروجی چاپ می کند.- mediapipe::Packet packet; while (poller.Next(&packet)) { LOG(INFO) << packet.Get<string>(); }
      سلام دنیا! در C++
  
  
  جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-25 بهوقت ساعت هماهنگ جهانی.