Skip navigation
adeel.raza
Currently Being Moderated

FMS 4.5 and Flash Player 11 broadcasting H264 incompatible?

May 29, 2012 6:57 AM

Tags: #flash #video #fms #4.5 #recording #h264 #streaming #fms_4.5

I'm using FMS 4.5 to record a live stream with H264 encoding. The broadcaster is  Flash Player 11. The resulting MP4 file has video but no audio. I have spent a couple of days trying to figure this one out but it simply doesn't work properly. Could it be possible the audio encoders (Nellymoser and Speex) for Microphone object in Flash Player 11 are not compatible with MP4 container?

 

Here are some of my findings:

 

1) If I broadcast without H264 encoding, the resulting FLV file is correct and has both audio and video.

2) If I broadcast using H264 encoding, the resulting F4V/MP4 file has video but no audio.

3) If I record an FLV file with H264 encoding, the resulting file has audio but no video.

 

I understand that FLV container doesn't allow H264 encoding. But why does the MP4 container outputs with no audio after F4VPP post-processing?

 

Is there any other alternative solution to this problem? I'll really appreciate some help with this one.

 
Replies
  • Currently Being Moderated
    May 29, 2012 10:58 PM   in reply to adeel.raza

    Hi,

     

    Could you please post/send a private message with the piece of code you're using for recording and maybe we could help debug the issue, because I checked on my end and the recording and playback of H264-Speex/NellyMoser in MP4 container is happening just fine for me.

     

    Thanks,

    Apurva

     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 7:26 AM   in reply to adeel.raza

    Could you try with "mp4:" + streamObj.name+".mp4", I'm still not able to reproduce the issue at my end. Also how're you playing back the stream?

     

    Thanks,

    Apurva

     
    |
    Mark as:
  • Currently Being Moderated
    May 31, 2012 7:46 AM   in reply to adeel.raza

    Hi Adeel,

     

    I'm sorry for the delay in reply. It took me some time to investigate the possibilites for you.

     

    If you want to playback a live stream via http protocol, then you need to record the streams in f4f format. If you require to record the live stream in an mp4 container then I suggest you use rtmp playback.

     

    Here are my suggestions -

    1. If what you require is HTTP Dynamic streaming then please follow this : http://help.adobe.com/en_US/flashmediaserver/devguide/WSd391de4d9c7bd6 09-52e437a812a3725dfa0-8000.html

    2. If recording to an mp4 container is your priority then, I suggest rtmp playback instead of http.

    3. If you need both, i.e, store your live content and playback live via HTTP then I see 2 possibilities :

         a. Use MPP (multi-point publish). So basically publish a live stream in f4f to one application and have that publish the live stream into mp4 container to another application. Although this leads to content duplication, you can playback the stream via http from the first application and also have your mp4 stream in the second application.

         b. Else you can use the DVR functionality. By default the live stream is stored by the livepkgr on disk, by using DVR, the client can seek back and forth in the livestream and view from the start. However, the f4f fragments will be saved and not an mp4 file.

     

    If you let me know what is the exact use-case I might be able to help you out better.

     

    Thanks,

    Apurva

     
    |
    Mark as:
  • Currently Being Moderated
    May 31, 2012 8:16 AM   in reply to adeel.raza

    Adeel, so just give me some time and I'll try to get back to you with the best answers.

     

    Thanks,

    Apurva

     
    |
    Mark as:
  • Currently Being Moderated
    Jun 3, 2012 6:06 AM   in reply to adeel.raza

    I have f4v files playing back fine from FMS... 

     

    using standard video object   with source set to

     

    MEDIA_SERVER / MEDIA_FOLDER  /mp4:"+ fileName +".f4v";

     

     

    you do not need to add rtmp:// at the start... as the video object seems to do that.

     
    |
    Mark as:
  • Currently Being Moderated
    Jun 8, 2012 12:11 AM   in reply to adeel.raza

    Hi adeel,

     

    I'm sorry I didn't get back to you earlier but I investigated the issue on my end and am unable to reproduce your issue!

     

    Here's the process I'm following :

    1. I duplicate the default livepkgr in my applications folder and replace the main.far with the main.asc in samples.

    2. I edit the main.asc as : var s = Stream.get("mp4:" + streamObj.name + ".mp4");

    3. I publish a stream from FMLE with the streamname livestream

    4. A livestream.mp4 is recorded in the streams folder.

    5. During publish I tried : rtmp://<server-ip>/livepkgr/mp4:livestream.mp4 - playback is fine (audio and video)

    6. After a few minutes I stop publish, copy my livestream.mp4 into webroot/vod and play as : http://<server-ip>/hds-vod/livestream.mp4.f4m - playback is fine (audio-video)

    7. Then I downloaded the f4vpp from here : https://www.adobe.com/cfusion/entitlement/index.cfm?e=fms35 I copy the linux folder onto my machine and run the command :

    ./f4vpp -s -i livestream.mp4 -o flattened.mp4

    I get the following messages :

    The conversion process starts...

    The conversion process completes successfully...

    and the following output files :

    flattened.smil and flattened_1.mp4

    8. I copy the flattened_1.mp4 onto a windows machine and play it via vlc player - playback is fine (audio-video)

     

    Are you doing anything differently?

     

    Thanks,

    Apurva

     
    |
    Mark as:
  • Currently Being Moderated
    Jun 11, 2012 4:33 AM   in reply to adeel.raza

    That's right Adeel.

     
    |
    Mark as:
  • Currently Being Moderated
    Jun 29, 2012 2:19 AM   in reply to adeel.raza

    hi adeel.raza.  i found this problem too! Do you have solution ?

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points