FMUSER Wirless Transmit Video And Audio More Easier !

[email protected] WhatsApp +8618078869184
Language

    A method to judge the frame type of H.264

     

    H264
    The structure of Nalu is Nalu, and the structure of Nalu is nal head +rbsp. The data flow in actual transmission is shown in the figure:
    Here is the picture description
    The nal header accounts for one byte, and the lower 5 bit bits represent the nal type, as shown in the following table:

    NAL type Nal type
     
     0  not used
     
    one Non IDR films
     
    two  Slice data a partition
     
    three Slice data partition B
     
    four Slice data C partition
     
    five The film of IDR image
     
    six Supplementary enhancement information unit (SEI)
     
    seven Sequence parameter set (SPS)
     
    eight Image parameter set (PPS)
     
    nine Demarcation mark
     
    ten End of sequence
     
    eleven End of stream
     
    twelve fill
     
    13..23  retain
     
    24..31 No reservation
     


    RBSP is the original byte sequence load.


    If the nal type is 5, the frame is I frame, i.e. keyframe, and non key frame (P frame...) when type is 1.


    In the actual H264 data frame, the nal type of the frame is usually preceded by a 00, 001 or 00001 separator. Generally speaking, the first frame data compiled by the encoder is PPS and SPS, followed by frame I, and then P frame


    Easypusher/easytmp video streaming push


    Easypusher and easytmp are used to obtain H264 video stream and audio video stream to local as video source by calling camera SDK, pulling RTSP stream, reading MP4 file, etc., and then pushing them to streaming media server by RTSP and RTMP. They are all video streaming push programs that support windows, Linux, Android, IOS, arm and other platforms.


    The following describes how they distinguish I frame and P frame after they get the video stream to local, and then push them:
    //This code reads H264 data from the file and pushes it to the server
    unsigned char *ptr=new unsigned char [sample_ size];
    fread(ptr, sample_ size, 1, g_ fin);
    //Write a frame of data - can be pushed directly on the network
    //fwrite(ptr, sample_ size, 1, fout);
    EASY_ AV_ Frame   avFrame;
    memset(&avFrame, 0x00, sizeof(EASY_ AV_ Frame));
    /*
    *The first 4 bytes of PTR are frame division character 0000001, and the fifth byte is nal type
    */
    unsigned char naltype = ( (unsigned char)ptr[4] & 0x1F);
    avFrame.pBuffer  = (unsigned char*)ptr;
    avFrame.u32AVFrameLen = sample_ size;
    avFrame.u32VFrameType = (naltype==0x05)? EASY_ SDK_ VIDEO_ FRAME_ I:EASY_ SDK_ VIDEO_ FRAME_ P;
    avFrame.u32AVFrameFlag = EASY_ SDK_ VIDEO_ FRAME_ FLAG;
    avFrame.u32TimestampSec = lTimeStamp/1000000;
    avFrame.u32TimestampUsec = (lTimeStamp%1000000);
    If the video source is not a file, but an IPcamera or RTSP stream, they may have already informed the current frame whether the current frame is an I frame or a P frame in their video streaming back modulation, so the steps to judge the nal type are omitted.
    HI_ S32 NETSDK_ APICALL OnStreamCallback(HI_ U32 u32handle, / * handle*/
    HI_ U32 u32datatype, / * data type, video or audio data or audio video composite data*/
    HI_ U8* pu8buffer, / * data contains frame header*/
    HI_ U32 u32length, / * data length*/
    HI_ Void* puserdata / * user data*/
    )
    {
    HI_ S_ AVFrame* pstruAV = HI_ NULL;
    HI_ S_ SysHeader* pstruSys = HI_ NULL;
    if (u32DataType == HI_ NET_ DEV_ AV_ DATA)
    {
    pstruAV = (HI_ S_ AVFrame*)pu8Buffer;
    if (pstruAV->u32AVFrameFlag == HI_ NET_ DEV_ VIDEO_ FRAME_ FLAG)
    {
    if(fPusherHandle == 0 ) return 0;
    if(pstruAV->u32AVFrameLen > 0)
    {
    unsigned char* pbuf = (unsigned char*)(pu8Buffer+sizeof(HI_ S_ AVFrame));
    EASY_ AV_ Frame  avFrame;
    memset(&avFrame, 0x00, sizeof(EASY_ AV_ Frame));
    avFrame.u32AVFrameLen = pstruAV->u32AVFrameLen;
    avFrame.pBuffer  = (unsigned char*)pbuf;
    avFrame.u32VFrameType = (pstruAV->u32VFrameType==HI_ NET_ DEV_ VIDEO_ FRAME_ I)? EASY_ SDK_ VIDEO_ FRAME_ I:EASY_ SDK_ VIDEO_ FRAME_ P;
    avFrame.u32AVFrameFlag = EASY_ SDK_ VIDEO_ FRAME_ FLAG;
    avFrame.u32TimestampSec = pstruAV->u32AVFramePTS/1000;
    avFrame.u32TimestampUsec = (pstruAV->u32AVFramePTS%1000)*1000;
    EasyPusher_ PushFrame(fPusherHandle, &avFrame);
    }  
    }
    else
    if (pstruAV->u32AVFrameFlag == HI_ NET_ DEV_ AUDIO_ FRAME_ FLAG)
    {
    if(fPusherHandle == 0 ) return 0;
    if(pstruAV->u32AVFrameLen > 0)
    {
    //Different IPcamera, the data header is different here, and the corresponding size needs to be skipped according to their SDK. Some may not have custom data
    unsigned char* pbuf = (unsigned char*)(pu8Buffer+sizeof(HI_ S_ AVFrame));
    EASY_ AV_ Frame  avFrame;
    memset(&avFrame, 0x00, sizeof(EASY_ AV_ Frame));
    avFrame.u32AVFrameLen = pstruAV->u32AVFrameLen-4;// Remove the manufacturer-defined 4-byte header
    avFrame.pBuffer  = (unsigned char*)pbuf+4;
    avFrame.u32AVFrameFlag = EASY_ SDK_ AUDIO_ FRAME_ FLAG;
    avFrame.u32TimestampSec = pstruAV->u32AVFramePTS/1000;
    avFrame.u32TimestampUsec = (pstruAV->u32AVFramePTS%1000)*1000;
    EasyPusher_ PushFrame(fPusherHandle, &avFrame);
    }          
    }
    }
    else
    if (u32DataType == HI_ NET_ DEV_ SYS_ DATA)
    {
    pstruSys = (HI_ S_ SysHeader*)pu8Buffer;
    printf("Video W:%u H:%u Audio: %u \n", pstruSys->struVHeader.u32Width, pstruSys->struVHeader.u32Height, pstruSys->struAHeader.u32Format);
    }
    return HI_ SUCCESS;
    }
    With data source, you can push RTSP and RTMP live by calling libeasypusher or libeasyrtmp!

     

     

     

     

     

     

    How far(long) the transmitter cover?

    The transmission range depends on many factors. The true distance is based on the antenna installing height , antenna gain, using environment like building and other obstructions , sensitivity of the receiver, antenna of the receiver . Installing antenna more high and using in the countryside , the distance will much more far.

    EXAMPLE 5W FM Transmitter use in the city and hometown:

    I have a USA customer use 5W fm transmitter with GP antenna in his hometown ,and he test it with a car, it cover 10km(6.21mile).

    I test the 5W fm transmitter with GP antenna in my hometown ,it cover about 2km(1.24mile).

    I test the 5W fm transmitter with GP antenna in Guangzhou city ,it cover about only 300meter(984ft).

    Below are the approximate range of different power FM Transmitters. ( The range is diameter )

    0.1W ~ 5W FM Transmitter :100M ~1KM

    5W ~15W FM Ttransmitter : 1KM ~ 3KM

    15W ~ 80W FM Transmitter : 3KM ~10KM

    80W ~500W FM Transmitter : 10KM ~30KM

    500W ~1000W FM Transmitter : 30KM ~ 50KM

    1KW ~ 2KW FM Transmitter : 50KM ~100KM

    2KW ~5KW FM Transmitter : 100KM ~150KM

    5KW ~10KW FM Transmitter : 150KM ~200KM

    How to contact us for the transmitter?

    Call me +8618078869184 OR
    Email me [email protected]
    1.How far you want to cover in diameter ?
    2.How tall of you tower ?
    3.Where are you from ?
    And we will give you more professional advice.

    About Us

    FMUSER.ORG is a system integration company focusing on RF wireless transmission / studio video audio equipment / streaming and data processing .We are providing everything from advice and consultancy through rack integration to installation, commissioning and training.
     
    We offer FM Transmitter, Analog TV Transmitter, Digital TV transmitter, VHF UHF Transmitter, Antennas, Coaxial Cable Connectors, STL, On Air Processing, Broadcast Products for the Studio, RF Signal Monitoring, RDS Encoders, Audio Processors and Remote Site Control Units, IPTV Products, Video / Audio Encoder / Decoder, designed to meet the needs of both large international broadcast networks and small private stations alike.
     
    Our solution has FM Radio Station / Analog TV Station / Digital TV Station / Audio Video Studio Equipment / Studio Transmitter Link / Transmitter Telemetry System / Hotel TV System / IPTV Live Broadcasting / Streaming Live Broadcast / Video Conference / CATV Broadcasting system.
     
    We are using advanced technology products for all the systems, because we know the high reliability and high performance are so important for the system and solution . At the same time we also have to make sure our products system with a very reasonable price.
     
    We have customers of public and commercial broadcasters, telecom operators and regulation authorities , and we also offer solution and products to many hundreds of smaller, local and community broadcasters .
     
    FMUSER.ORG has been exporting more than 15 years and have clients all over the world. With 13 years experience in this field ,we have a professional team to solve customer's all kinds of problems. We dedicated in supplying the extremely reasonable pricing of professional products & services.
    Contact email : [email protected]

    Our Factory

    We have modernization of the factory . You are welcome to visit our factory when you come to China.

    At present , there are already 1095 customers around the world visited our Guangzhou Tianhe office . If you come to China , you are welcome to visit us .

    At Fair

    This is our participation in 2012 Global Sources Hong Kong Electronics Fair . Customers from all over the world finally have a chance to get together.

    Where is Fmuser ?

    You can search this numbers " 23.127460034623816,113.33224654197693 " in google map , then you can find our fmuser office .

    FMUSER Guangzhou office is in Tianhe District which is the center of the Canton . Very near to the Canton Fair , guangzhou railway station, xiaobei road and dashatou , only need 10 minutes if take TAXI . Welcome friends around the world to visit and negotiate .

    Contact: Sky Blue
    Cellphone: +8618078869184
    WhatsApp: +8618078869184
    Wechat: +8618078869184
    E-mail: [email protected]
    QQ: 727926717
    Skype: sky198710021
    Address: No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China Zip:510620

    English: We accept all payments , such as PayPal, Credit Card, Western Union, Alipay, Money Bookers, T/T, LC, DP, DA, OA, Payoneer, If you have any question , please contact me [email protected] or WhatsApp +8618078869184

    • PayPal.  www.paypal.com

      We recommend you use Paypal to buy our items ,The Paypal is a secure way to buy on internet .

      Every of our item list page bottom on top have a paypal logo to pay.

      Credit Card.If you do not have paypal,but you have credit card,you also can click the Yellow PayPal button to pay with your credit card.

      ---------------------------------------------------------------------

      But if you have not a credit card and not have a paypal account or difficult to got a paypal accout ,You can use the following:

      Western Union.  www.westernunion.com

       

      Pay by Western Union to me :

      First name/Given name: Yingfeng
      Last name/Surname/ Family name: Zhang
      Full name: Yingfeng Zhang
      Country: China
      City: Guangzhou 

      ---------------------------------------------------------------------

      T/T .  Pay by T/T (wire transfer/ Telegraphic Transfer/ Bank Transfer)
       
      First BANK INFORMATION (COMPANY ACCOUNT):
      SWIFT BIC: BKCHHKHHXXX
      Bank name: BANK OF CHINA (HONG KONG) LIMITED, HONG KONG
      Bank Address: BANK OF CHINA TOWER, 1 GARDEN ROAD, CENTRAL, HONG KONG
      BANK CODE: 012
      Account Name : FMUSER INTERNATIONAL GROUP LIMITED
      Account NO. : 012-676-2-007855-0
      ---------------------------------------------------------------------
      Second BANK INFORMATION (COMPANY ACCOUNT):
      Beneficiary: Fmuser International Group Inc
      Account Number: 44050158090900000337
      Beneficiary's Bank: China Construction Bank Guangdong Branch
      SWIFT Code: PCBCCNBJGDX
      Address: NO.553 Tianhe Road, Guangzhou, Guangdong,Tianhe District, China
      **Note: When you transfer money to our bank account, please DO NOT write anything in the remark area, otherwise we won't be able to receive the payment due to government policy on international trade business.

    * It will be sent in 1-2 working days when payment clear.

    * We will send it to your paypal address. If you want to change address, please send your correct address and phone number to my email [email protected]

    * If the packages is below 2kg,we will be shipped via post airmail, it will take about 15-25days to your hand.

    If the package is more than 2kg,we will ship via EMS , DHL , UPS, Fedex fast express delivery,it will take about 7~15days to your hand.

    If the package more than 100kg , we will send via DHL or air freight. It will take about 3~7days to your hand.

    All the packages are form China guangzhou.

    * Package will be sent as a "gift" and declear as less as possible,buyer don't need to pay for "TAX".

    * After ship, we will send you an E-mail and give you the tracking number.

    For Warranty .
    Contact US--->>Return the item to us--->>Receive and send another replace .

    Name: Liu xiaoxia
    Address: 305Fang HuiLanGe HuangPuDaDaoXi 273Hao TianHeQu Guangzhou China.
    ZIP:510620
    Phone: +8618078869184

    Please return to this address and write your paypal address,name,problem on note:

    List all Question

    Nickname

    Email

    Questions

      Enter email  to get a surprise

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org ->Afrikaans
      sq.fmuser.org ->Albanian
      ar.fmuser.org ->Arabic
      hy.fmuser.org ->Armenian
      az.fmuser.org ->Azerbaijani
      eu.fmuser.org ->Basque
      be.fmuser.org ->Belarusian
      bg.fmuser.org ->Bulgarian
      ca.fmuser.org ->Catalan
      zh-CN.fmuser.org ->Chinese (Simplified)
      zh-TW.fmuser.org ->Chinese (Traditional)
      hr.fmuser.org ->Croatian
      cs.fmuser.org ->Czech
      da.fmuser.org ->Danish
      nl.fmuser.org ->Dutch
      et.fmuser.org ->Estonian
      tl.fmuser.org ->Filipino
      fi.fmuser.org ->Finnish
      fr.fmuser.org ->French
      gl.fmuser.org ->Galician
      ka.fmuser.org ->Georgian
      de.fmuser.org ->German
      el.fmuser.org ->Greek
      ht.fmuser.org ->Haitian Creole
      iw.fmuser.org ->Hebrew
      hi.fmuser.org ->Hindi
      hu.fmuser.org ->Hungarian
      is.fmuser.org ->Icelandic
      id.fmuser.org ->Indonesian
      ga.fmuser.org ->Irish
      it.fmuser.org ->Italian
      ja.fmuser.org ->Japanese
      ko.fmuser.org ->Korean
      lv.fmuser.org ->Latvian
      lt.fmuser.org ->Lithuanian
      mk.fmuser.org ->Macedonian
      ms.fmuser.org ->Malay
      mt.fmuser.org ->Maltese
      no.fmuser.org ->Norwegian
      fa.fmuser.org ->Persian
      pl.fmuser.org ->Polish
      pt.fmuser.org ->Portuguese
      ro.fmuser.org ->Romanian
      ru.fmuser.org ->Russian
      sr.fmuser.org ->Serbian
      sk.fmuser.org ->Slovak
      sl.fmuser.org ->Slovenian
      es.fmuser.org ->Spanish
      sw.fmuser.org ->Swahili
      sv.fmuser.org ->Swedish
      th.fmuser.org ->Thai
      tr.fmuser.org ->Turkish
      uk.fmuser.org ->Ukrainian
      ur.fmuser.org ->Urdu
      vi.fmuser.org ->Vietnamese
      cy.fmuser.org ->Welsh
      yi.fmuser.org ->Yiddish

       
  •  

    FMUSER Wirless Transmit Video And Audio More Easier !

  • Contact

    Address:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email protected]

    Tel / WhatApps:
    +8618078869184

  • Categories

  • Newsletter

    FIRST OR FULL NAME

    E-mail

  • paypal solution  Western UnionBank OF China
    E-mail:[email protected]   WhatsApp:+8618078869184   Skype:sky198710021 Chat with me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contact Us