Pages

Saturday, September 25, 2010

FFMpeg - Using Libavcodec in your program


This will be my second post on ffmpeg. The first post was on building ffmpeg on windows using mingw.
In this post, we will see how you can use those libraries in your application and decode movie files. I am taking dranger's first tutorial as the source and I will build it using Visual C++ 6.0. You can find the source code here.

This post has been published in CodeProject.com. You can view it here. The Codeproject image appearing in this post will indicate that the articles are also present in CodeProject.

Explanation of the code

Opening the video file

// Register all formats and codecs
av_register_all();

// Open video file
if(av_open_input_file(&pFormatCtx, argv[1], NULL, 0, NULL)!=0)
return -1; // Couldn't open file

// Retrieve stream information
if(av_find_stream_info(pFormatCtx)<0)
return -1; // Couldn't find stream information

// Dump information about file onto standard error
dump_format(pFormatCtx, 0, argv[1], 0);

First, we initialize ffmpeg by calling 'av_register_all()' at the starting of the program. This registers all supported formats and codecs.
Next we open the video file using av_open_input_file(). The first parameter is the pointer to the 'AVFormatContext' which we will use in our program to refer to the video file. The second parameter is the name of the file to be opened. The last three parameters are for file format, buffer size, and format options. By setting it to NULL and 0, libavformat detects and fills values on it own.
We dump information about the input file using 'dump_format()'

Opening the decoder

videoStream=-1;
for(i=0; inb_streams; i++)
if(pFormatCtx->streams[i]->codec->codec_type==CODEC_TYPE_VIDEO) {
  videoStream=i;
  break;
}
if(videoStream==-1)
return -1;
pCodecCtx=pFormatCtx->streams[videoStream]->codec;

We loop through the list of streams present in the input file to locate the 'video' stream present in it. The file can typically contain one or more audio/video streams in it. Once a video stream is located, we extract the codec type of the video stream. This codec type will be used to initialize the decode as shown below. avcoded_find_decoder accepts the codec id (obtained from the video file) as input and returns a pointer of type 'AVCodec'. The codec is then open by making a call to 'avcodec_open()'

pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
if(pCodec==NULL) {
fprintf(stderr, "Unsupported codec!\n");
return -1;
}
if(avcodec_open(pCodecCtx, pCodec)<0)
return -1;

Allocating buffers for decoding

numBytes=avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height);
buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));
avpicture_fill((AVPicture *)pFrameRGB, buffer, PIX_FMT_RGB24,  pCodecCtx->width, pCodecCtx->height);

This part of the code is fairly elementary. We calculate the size of the buffer required, allocate a temporary buffer using malloc

Decoding frames

i=0;
while(av_read_frame(pFormatCtx, &packet)>=0) {
if(packet.stream_index==videoStream) {
  avcodec_decode_video(pCodecCtx, pFrame, &frameFinished, packet.data, packet.size); 
  if(frameFinished) {
  img_convert((AVPicture *)pFrameRGB, PIX_FMT_RGB24,
                (AVPicture*)pFrame, pCodecCtx->pix_fmt, pCodecCtx->width,
                pCodecCtx->height);

if(++i<=5)
  SaveFrame(pFrameRGB, pCodecCtx->width, pCodecCtx->height,
        i);
  }
}

Well, this is the part of the code that excites me the most, decoding the frames :) You read frames the file using av_read_frame. This function returns a non-zero positive value if the file has not reached its end. After receiving a packet, we first check if it is a video packet. We pass the CodecContext, Packet data and size as the input to the function. If decoding of the packet is successful, the 'pFrame' pointer points to decoded data. Success or failure of the decoding process is indicated by the 'frameFinished'. If it fails, the value will be '0'. We then convert the data from YUV to RBG format so that we can write to the file. I guess, by default, the decoded data is of type YUV.

Cleanup

av_free(buffer);
av_free(pFrameRGB);
av_free(pFrame);
avcodec_close(pCodecCtx);
av_close_input_file(pFormatCtx);

This is the part of the code i normally hate. But any mistake in this part will result in memory leaks or run time exceptions. So we will release all the allocated buffers and frames using av_free(). We will also close the codecontext and file using avcodec_close() and av_close_input_file() respectively.

Steps to build the application
  1. Create a win32 console application using Visual C++. Let us name it 'ffmpeg'.
  2. Create a folder named 'Libraries' and copy the following library files (avcodec.lib, avformat.lib, avutil.lib) to that folder. 
  3. Add 'tutorial1.c' to the project.
  4. Open the 'Project Settings' dialog box and in the C++ tab, choose the 'Preprocessor' option. In the 'Additional Include Directories', add the folder where the ffmpeg header files are present. (ex: C:\ffmpeg) 
  5. Navigate to the 'Link' tab in the project settings dialog and choose 'Input' as category. Add the following libraries to the 'Object/Library modules' text box : avformat.lib avcodec.lib avutil.lib. Add 'libraries' to the 'Additional Library path' text box.
  6. Build the application and you should be able to build it without any problem.
I hope to write on more post on encoding data using FFmpeg. That will complete the cycle.

20 comments:

Anonymous said...

You did not write this tutorial. Thief

Rmn said...

That's unfair to say. What makes you think that I have not written this? All source codes and snapshots were developed by me. Your argument is baseless.

Temin said...

Hi Rmn

We are doing a project in which one second of data should be extracted from the h.264 stream.
How to know how many frames make up one second of data?

According to our standard One broadcast frame can carry 1s of video and audio data.so while building the header details for the broadcast frame,we have to know the total number of video & audio bytes for that broadcast frame and and the number of frames for that video.

Is it possible to extract these information with this tool.
Kindly give your valuable suggestions

Regards
Temin

Mclovin said...

Why don't you disable anonymous comments to avoid those lousy flaggers?

Anonymous said...

hi RMN

I am trying to encode a directshow buffer stream by using libavcodec. after encoding only green video is coming with some movement. Can you tell me please what will be the reason.
Thanks you!

Imran Khan

ninest123 said...

moncler, moncler, pandora jewelry, pandora jewelry, marc jacobs, ugg,ugg australia,ugg italia, sac louis vuitton pas cher, canada goose, moncler outlet, pandora charms, canada goose outlet, bottes ugg, moncler, canada goose uk, replica watches, hollister, louis vuitton, louis vuitton, swarovski, moncler, swarovski crystal, links of london, ugg boots uk, moncler, louis vuitton, doudoune canada goose, ugg pas cher, coach outlet, louis vuitton, moncler, canada goose, canada goose outlet, canada goose, thomas sabo, canada goose, pandora charms, ugg,uggs,uggs canada, wedding dresses, moncler

ninest123 said...

timberland boots, soccer shoes, nike roshe, asics running shoes, oakley, juicy couture outlet, beats by dre, new balance, jimmy choo shoes, vans, north face outlet, instyler, mcm handbags, abercrombie and fitch, baseball bats, hollister, karen millen, gucci, lancel, bottega veneta, valentino shoes, louboutin, reebok shoes, north face outlet, converse outlet, hollister, herve leger, juicy couture outlet, ralph lauren, ferragamo shoes, insanity workout, ghd, nike air max, mont blanc, chi flat iron, nfl jerseys, toms shoes, supra shoes, mac cosmetics, converse, babyliss, wedding dresses, celine handbags, ray ban, vans shoes, nike air max, montre pas cher, soccer jerseys, p90x workout, birkin bag

ninest123 said...

vans pas cher, michael kors outlet, mulberry, michael kors, sac guess, new balance pas cher, ugg boots, nike air max, true religion outlet, hogan, true religion jeans, burberry, hollister, hollister, oakley pas cher, true religion jeans, coach purses, michael kors outlet, timberland, ray ban uk, converse pas cher, north face, burberry outlet online, longchamp, michael kors, nike huarache, michael kors outlet, tn pas cher, ray ban pas cher, michael kors outlet, michael kors outlet, hermes, air force, lululemon, nike blazer, lacoste pas cher, michael kors, nike trainers, ralph lauren uk, nike air max, nike roshe, nike air max, michael kors, north face, vanessa bruno, ugg boots, true religion jeans, hollister pas cher, nike free run uk, abercrombie and fitch

ninest123 said...

louboutin pas cher, nike air max, ray ban sunglasses, prada handbags, michael kors, coach outlet, coach outlet, nike free, replica watches, kate spade outlet, uggs on sale, louboutin shoes, longchamp outlet, longchamp, burberry, polo ralph lauren outlet, tory burch outlet, nike air max, louboutin, ralph lauren pas cher, louis vuitton, christian louboutin outlet, chanel handbags, prada outlet, tiffany jewelry, ray ban sunglasses, kate spade handbags, sac longchamp, nike outlet, air max, gucci outlet, air jordan pas cher, louboutin outlet, nike roshe run, replica watches, nike free, longchamp pas cher, jordan shoes, polo ralph lauren outlet, tiffany and co, cheap oakley sunglasses, ray ban sunglasses, oakley sunglasses, ugg boots, replica handbags, longchamp outlet, ugg boots

dong dong23 said...

insanity workout
sac michael kors
converse all stars
cheap jordan shoes
weitzman shoes
canada goose pas cher
burberry
karen millen
beats headphones
coach outlet
2017.12.29chenlixiang

seo com said...

شركة الخدمات المنزلية بالمدينة المنورة
دائماً نكون في حالة كبيرة من البحث عن أفضل الخدمات المنزلية التي تساعد في حل بعض المشكلات المنزلية الصعبة، ومن أهم هذه المشكلات البحث عن شركات لنقل العفش، أو البحث عن أفضل شركات التنظيف بالمدينة المنورة، أو شركة مكافحة حشرات بالمدينة المنورة، فكل هذا لم تجده عزيزي العميل إلا داخل شركتنا شركة الخدمات المنزلية التي توفر على كل عملائها الكثير من التعب والعناء وراء البحث بين الشركة عن الخدمة الأفضل، فنحن نعمل دائماً لإرضاء عملائنا الكرام، وكل متا يبحث عنه العميل هو الثقة والأمانة في العمل، ونحن أيضاً نحرص على أن نقوم بتنفيذ جميع أعمالنا بأفضل الطرق الممكنة والتي تعمل على أن يقدم العمل على أحسن وجه.
شركة نقل عفش بالمدينة المنورة
شركة تنظيف بالمدينة المنورة
شركة مكافحة حشرات بالمدينة المنورة
شركة مكافحة النمل الابيض بالمدينة المنورة
شركة مكافحة حشرات بالمدينة المنورة
شركة تنظيف خزانات بالمدينة المنورة
شركة عزل اسطح بالمدينة المنورة
شركة تمديد غاز مركزي بجدة

seo com said...

افضل شركة خدمات المنزلية بالمدينة المنورة
مما لا شك فيه أن جميع سكان المدينة المنورة يتعرضون لبعض الظروف الغير إرادية التي تجعلهم بحاجة كبيرة إلى مجموعة من الخدمات الهامة، مثل خدمات العزل وتنسيق الحدائق، وخدمات لحل بعض من المشكلات التي يقع فيها الكثيرون، فعندما نتعرض لمشكلة تسرب مياه أو مشكلة تسليك المجاري فبهذا فأنتَ بحاجة كبيرة إلى واحدة من شركات الخدمات المنزلية بالمدينة المنورة لكي تساعدكًَ في حل كل هذه المشكلات، فكل هذا لم يتوجد سوى لدينا، فنحن دائماً نتميز عن الأخرين من خلال قيامنا بكثير من أعمال الصيانة المنزلية وغيرها، وسوف نحرص على أن نقدم إليكم القليل من الخدمات التي تعمل الشركة بأن تقدمها لكل عملائها الكرام.
شركة عزل بالمدينة المنورة
شركة عزل اسطح بالمدينة المنورة
شركة عزل خزانات بالمدينة المنورة
شركة كشف تسربات المياه بالمدينة المنورة
شركة تركيب طارد الحمام بالمدينة المنورة
شركة تسليك مجاري بالمدينة المنورة
شركة تنسيق حدائق بالمدينة المنورة
شركة شراء اثاث مستعمل بالمدينة المنورة
شركة تمديد غاز مركزي بجدة


seo com said...

شركة تنظيف ابوظبى 0567410494 التاج الملكى

شركة التاج الملكي أرخص وأفضل وأكبر
شركة تنظيف ابوظبى
، فتمتلك العديد من المقومات الرائعة التي تميزها عن غيرها من الشركات، حيث أن التنظيف يعتبر من الأمور الشاقة للغاية للمرأة خاصة إذا كانت المرأة تعمل فيكون ليس لديها وقت فارغ لتتم عملية التنظيف، حيث أن
شركة تنظيف فى ابوظبى
تمتلك عمالة مدربة على مستوى عالي من الجودة ولديهم خبرة تتعدي الخمس سنوات في مجال التنظيف، فالمرأة تكتشف البقع من بقايا المشروبات والطعام فلابد على أي مرأة أكتشافها لهذه البقع أن تقوم بالأتصال على الفور على
شركة تنظيف مسابح ابوظبى
، حتى تعمل
شركات تنظيف المنازل ابوظبى
على تنظيف جميع الغرف والمطابخ والحمامات التي توجد في البيوت.
تنظف فلل ابوظبى


ماذا تقدم لعملائها
تقدم
شركة تنظيف شقق ابوظبى
العديد من الخدمات والمميزات لعملائها حيث تعتبر من أفضل الشركات التي تعمل في مجال التنظيف، فتستخدم
خدمات تنظيف ابوظبى
العديد من المساحيق التي تعمل على إزالة البقع نهائياً.

حيث تستخدم
تنظيف منازل ابوظبى
مساحيق خاصة لأزالة بقايا الطعام من المطابخ وخاصة السيراميك فالمطبخ لابد من تنظيفه جيداً وعدم أهماله حتى لا تتراكم الدهون والشحوم، كما أن المطبخ لابد من تعقيمه وترتيبه بأستمرار حتى لا يراكم الحشرات الزاحفة والطائرة وتعمل على تلوث الطعام وإصابة الإنسان بالأمراض.
كما أن
شركات تنظيف المنازل ابوظبى

تعمل على خصم خدمة التنظيف لجميع العملاء، حيث أن
شركات تنظيف المبانى ابوظبى
تمتلك مهارة فائقة في مجال
خدمات تنظيف ابوظبى
التنظيف وتمتلك أفضل المعدات والألات التي تستخدم في مجال التنظيف، لذا لابد من التعامل مع هذه الشركة لأنها أكبر
شركة تنظيف بالبخار ابوظبى
تمتلك خبرة وجودة في الوطن العربي كمام تقدم
خدمات تنظيف بالبخار ابوظبى
منها
شركة تنظيف كنب بالبخار ابوظبى


مكافحة حشرات الامارات
تنظف فلل الامارات
خدمات تنظيف الامارات

seo com said...

مكافحة حشرات ابوظبى 0567410494 التاج الملكى


شركتنا التاج الملكى تعتبر
افضل شركة مكافحة حشرات ابوظبى
، حيث تعمل على أبادة جميع الحشرات سواء الحشرات الزاحفة أو الحشرات الطائرة، وجميع الحشرات تضر بصحة الإنسان خاصة الأطفال لذا لابد التخلص من جميع الحشرات التي تؤذي صحة الإنسان، حيث أن
شركة مكافحة الفئران ابوظبى
تستخدم شركتنا العديد من المبيدات الحشرية الغير مضرة بصحة الإنسان لأنها مصرح بها من وزارة الصحة بابوظبي، لذا فأنها أمنة جداً ولا يوجد بها ضرر، لذا لابد أن نتخلص من جميع الحشرات حتى لا يحدث للإنسان أي مكروب وذلك لم يحدث إلا عن طريق
شركة مكافحة حشرات ابوظبى
.
أهم المميزات التي تقدمها
شركة مكافحة البق ابوظبى

شركة مكافحة حشرات فى ابوظبى

شركتنا تعمل على مكافحة جميع الحشرات، حيث تعتبر أحسن
شركة مكافحة النمل الابيض ابوظبى
، وتعتبر أفضل
شركة مكافحة الثعابين ابوظبى
، من ثم نعرض لكم جميع المميزات التي تخص
شركة مكافحة الرمة ابوظبى
:-
• عند أكتشاف أي نوع من الصراصير فعليك أن تقوم بأستبعاد القطعة التي يوجد فيها هذه الحشرة حتى لا تنقل العدوي لغيرها من قطع الأثاث، حيث تقوم
شركة مكافحة الصراصير ابوظبى
بعمل معاينة لجميع قطع الأثاث وعمل أبادة تامة من هذه الحشرة التي تعمل على تلوث الطعام وإصابة الأطفال بميكروب، وتستخدم شركتنا لمكافحة الصراصير أفضل أنواع المبيدات لطردها نهائياً من المنزل وعدم عودتها مرة أخرى.
• وعند أكتشاف أي قطع من الملابس ممزقة فلابد من البحث عن وجود نمل أبيض، حيث تقوم مكافحة حشرات الامارات
بعمل معاينة أولاً لمعرفة المكان الذي يأتي منه النمل ثم تستخدم الشركة المبيد الحشري المناسب لكي يعمل على طرد النمل نهائياَ من المنزل.

seo com said...

خدمات مكافحة حشرات دبى 0567410494 التاج الملكى


تتميز شركة التاج الملكي بأنها أفضل وأكبر
شركة مكافحة حشرات بدبى
، حيث تعتمد شركتنا على جذب العملاء من جميع أنحاء دبي، فتعتمد
شركة مكافحة حشرات فى دبى
على أفضل المعدات والألات والمبيدات الحشرية التي تستخدم في قتل الحشرات نهائياَ من المنزل وعدم عودتها مرة أخرى، فالحشرات جميعها تقوم التاج الملكى ل
خدمات مكافحة حشرات دبى
بطردها سواء كانت حشرات طائرة أم حشرات زاحفة، فعادة تكون الحشرات الكثيرة في مدينة دبي هي الصراصير والرمة والفئران، حيث نعرض لكم اليوم ما تقوم به
شركة مكافحة حشرات دبى
من طرد الحشرات بجميع أنواعها وتقوم بعمل نصايح للعملاء حتى لا تعود الحشرات مرة أخرى.


أفضل شركة مكافحة حشرات دبي لابد أن تتوافر العديد من المقومات في شركة مكافحة النمل الابيض دبى
شركة
مكافحة حشرات دبى
، حيث يطلق عليها من الشركات الأفضل في هذا المجال، فتعتبر
شركة مكافحة البق دبى
من أفضل الشركات التي توجد في الوطن العربي لما توفره من مقومات وجودة فتوفر لعملائها العديد من الخدمات التي تميزها عن غيرها من الخدمات.
وتعتبر
شركة مكافحة الرمة دبى
تقضي تماماً على جميع أنواع الرمة وعادة تكثر الرمة في المناطق الصحراوية التي توجد بدبي، فتقوم الشركة بعمل معاينة لمعرفة من أين يخرج هذا النمل الأبيض ثم تقوم بمعالجة هذه الأماكن وسدها بسبب أختراق الرمة منها والتي تنتشر من خلالها الرمة بكثرة.
حيث أن
شركة مكافحة الفئران دبى
، و
شركة مكافحة الثعابين دبى
من أكبر الشركات التي توجد في دبي ولها العديد من العملاء الذين يأتون إليها من جميع دول العالم لما تتميز بالجودة والدقة في العمل مما يعمل على جذب العملاء
شركة مكافحة الصراصير دبى
بعمل خصومات رائعة لعملائها وتقوم
افضل شركة مكافحة حشرات دبى
بتوفير الخدمات والمميزات اللازمة في مجال مكافحة الحشرات.

seo com said...

شركة الصيانة المنزلية بالمدينة المنورة
شركة الصيانة المنزلية بالمدينة المنورة تعتبر من أهم الشركات التي يبحث عنها الكثير من سكان المدينة المنورة، فدائماً نكون بحاجة إلى أعمال الصيانة والتشطيبات، ولكن هذا النوع من الأعمال يحتاج إلى أشخاص متخصصون لديهم الخبرة الطويلة في أعمال الصيانة المختلفة مثل السباكة والكهرباء والنقاشة والنجارة وغيرها، ولكن كل هذا لم يتواجد سوى بشركة الصيانة المنزلية بالمدينة المنورة، كما أن الشركة لها الكثير من الفروع الموجودة بمكة، وجدة، والدمام، فنحن نعمل على زيادة أماكننا لكي يكون من السهل الوصول إلينا بأي وقت وفي أي مكان، فنحن نعمل على مدار 24 ساعة طوال الأسبوع على راحة عملائنا الكرام، وإليكم أبرز الخدمات التي تحرص الشركة أن تقدمها لكل عملاء المدينة المنورة والمملكة العربية السعودية.
سباك بالمدينة المنورة
كهربائي بالمدينة المنورة
دهان بالمدينة المنورة
نجار بالمدينة المنورة
معلم سباك بجدة
معلم كهربائي بجدة
معلم دهان بجدة

seo com said...

شركة الصيانة المنزلية بجدة
من منا لا تكون بحاجة للعديد من أعمال الصيانة المنزلية بشكل مستمر، حيث تواجه الكثير من ربات البيوت العديد من المشاكل سواء كانت خاصة بالسباكة، أو الكهرباء أو الدهان أو الرسيفر، مما يجعلها تبحث عن شتى الطرق التي تساعدها في التخلص من تلك المشكلة المزعجة، ومن المعروف أن كل هذه المشاكل لها تأثير سلبي على شكل المنزل، وهذا يعني انك بحاجة لأفضل شركة صيانه منزليه بجدة، فما عليكِ سوى التواصل مع شركة الصيانة المنزلية بجدة، فلديها خبرة طويلة اكتسبتها عبر السنين في شتى مجالات خدمات وصيانة المنازل، التي تسعى دائما على أن توفر سبل الراحة لعملائها الكرام، لذا فقد حرصنا على أن نقدم لكم اليوم واحدة من أهم وأبرز شركات الصيانة في جدة، حيث أن الشركة تحرص على أن تقدم خدماتها بأقل الأسعار التي تناسب فئات العملاء دون أن تسبب لهم أي ضغط مادي، كما أنها تعتمد على الخبرة الطويلة، و التميز في أداء العمل وتتميز دائما بالمصداقية والأمانة، ويتم القيام بكافه خدماتها على يد خبراء متخصصين فى كافة أعمال الصيانة ومن أهم أعمال الشركة انها تقوم بأعمال السباكة و الدهان و فني دش و كهرباء و النجارة والكثير من غيرها، ولا تحصل على كل هذا من خلال التواصل مع شركتنا اتصل بنا الآن ولا تتردد.
فني سباكة بالمدينة المنورة
فنى كهربائي بالمدينة المنورة
معلم بوية بالمدينة المنورة
رقم سباك بجدة
فني دش بجدة
رقم كهربائي بجدة
رقم دهان بجدة
معلم جبس بورد بجدة
رقم فني دش بجدة
نجار بجدة

seo com said...

شركة الخدمات المنزلية بالمدينة المنورة
دائماً نكون في حالة كبيرة من البحث عن أفضل الخدمات المنزلية التي تساعد في حل بعض المشكلات المنزلية الصعبة، ومن أهم هذه المشكلات البحث عن شركات لنقل العفش، أو البحث عن أفضل شركات التنظيف بالمدينة المنورة، أو شركة مكافحة حشرات بالمدينة المنورة، فكل هذا لم تجده عزيزي العميل إلا داخل شركتنا شركة الخدمات المنزلية التي توفر على كل عملائها الكثير من التعب والعناء وراء البحث بين الشركة عن الخدمة الأفضل، فنحن نعمل دائماً لإرضاء عملائنا الكرام، وكل متا يبحث عنه العميل هو الثقة والأمانة في العمل، ونحن أيضاً نحرص على أن نقوم بتنفيذ جميع أعمالنا بأفضل الطرق الممكنة والتي تعمل على أن يقدم العمل على أحسن وجه.
شركة نقل عفش بالمدينة المنورة
شركة تنظيف بالمدينة المنورة
شركة مكافحة حشرات بالمدينة المنورة
شركة مكافحة النمل الابيض بالمدينة المنورة
شركة مكافحة حشرات بالمدينة المنورة
شركة تنظيف خزانات بالمدينة المنورة
شركة عزل اسطح بالمدينة المنورة
شركة تمديد غاز مركزي بجدة

seo com said...

افضل شركة خدمات المنزلية بالمدينة المنورة
مما لا شك فيه أن جميع سكان المدينة المنورة يتعرضون لبعض الظروف الغير إرادية التي تجعلهم بحاجة كبيرة إلى مجموعة من الخدمات الهامة، مثل خدمات العزل وتنسيق الحدائق، وخدمات لحل بعض من المشكلات التي يقع فيها الكثيرون، فعندما نتعرض لمشكلة تسرب مياه أو مشكلة تسليك المجاري فبهذا فأنتَ بحاجة كبيرة إلى واحدة من شركات الخدمات المنزلية بالمدينة المنورة لكي تساعدكًَ في حل كل هذه المشكلات، فكل هذا لم يتوجد سوى لدينا، فنحن دائماً نتميز عن الأخرين من خلال قيامنا بكثير من أعمال الصيانة المنزلية وغيرها، وسوف نحرص على أن نقدم إليكم القليل من الخدمات التي تعمل الشركة بأن تقدمها لكل عملائها الكرام.
شركة عزل بالمدينة المنورة
شركة عزل اسطح بالمدينة المنورة
شركة عزل خزانات بالمدينة المنورة
شركة كشف تسربات المياه بالمدينة المنورة
شركة تركيب طارد الحمام بالمدينة المنورة
شركة تسليك مجاري بالمدينة المنورة
شركة تنسيق حدائق بالمدينة المنورة
شركة شراء اثاث مستعمل بالمدينة المنورة
شركة تمديد غاز مركزي بجدة

sherry sabri said...

شركة المثالي صقور للخدمات بالدمام
تهتم الشركة بتوفير كافة أنواع الخدمات التي قد تحتاجها في مكان إقامتك كما تهتم الشركة بشكل خاص بتوفير كافة أنواع الأجهزة الحديثة التي تخدم مجموعة الخدمات التي تعمل الشركة علي تقديمها كما تهتم الشركة بأن تكون الأسعار في متناول الجميع حتي تصل خدماتها لكافة المستويات ولجميع القائمين بالمنطقة كما تنافس الشركة باقي الشركات الموجودة في المكان بشكل كامل فهي توفر أعلي مستوي من الخدمة مع أفضل الأسعار الممكنة في المنطقة بكاملها
شركة تنظيف بالدمام
شركة تنظيف منازل بالدمام
شركة تنظيف شقق بالدمام
شركة تنظيف مجالس بالدمام
شركة مكافحة حشرات بالدمام
شركة مكافحة النمل الابيض بالدمام
شركة مكافحة الحمام بالدمام
شركة تسليك مجاري بالدمام
شركة نقل عفش بالدمام