Can't play MPEG-4 when video is on stream 0

Does anyone have any ideas on how I may be able to “swap the stream’s”?  I am using a WD TV LIVE and have update it with the latest firmware (1.04.17).

I am having trouble playing MPEG-4 video file that have the stream 0 set to Type: Video and the Stream 1 set to Type: Audio.

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

Stream 0

    Type: Video

    Codec: H264 - MPEG-4 AVC (part 10)(avc1)

    Resolution: 640x360

    Frame rate: 25

Stream 1

    Type: Audio

    Codec: MPEG ACC Audio (mp4a)

    Channels: Stereo

    Sample rate: 44100 Hz

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

I am able to play MPEG-4 video file that have the stream 0 set to Type: Audio and the Stream 1 set to Type: Video.

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

Stream 0

    Type: Audio

    Codec: MPEG ACC Audio (mp4a)

    Channels: Stereo

    Sample rate: 44100 Hz

Stream 1

    Type: Video

    Codec: H264 - MPEG-4 AVC (part 10)(avc1)

    Resolution: 480x270

    Frame rate: 24.994000

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


That’s the only difference that I can see with the Codec details taken from VLC media player.

Any info ideas???.

Thanks. DAN

Why would you like to swap the streams? o.o

I understand that you are having issues with the video stream set to 0, but if it works if you set it to 1… Then what is the point? o.O

I have two seperate files. One I can’t play and one I can. I have not modified them in any way, I received them just the way they are.  Here is the ffmpeg output of the file data:

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

Input #0, flv, from ‘wontplay.mp4’:
  Metadata:
    duration        : 1439
    moovPosition    : 36
    width           : 640
    height          : 360
    videocodecid    : avc1
    audiocodecid    : mp4a
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiosamplerate : 44100
    audiochannels   : 2
  Duration: 00:23:59.00, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: h264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], 50 fps, 25 tbr, 1k tbn, 50 tbc

    Stream #0.1: Audio: aac, 44100 Hz, stereo, s16

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


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

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘willplay.mp4’:
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
  Duration: 00:03:28.20, start: 0.000000, bitrate: 2125 kb/s
    Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 125 kb/s
    Stream #0.1(und): Video: h264, yuv420p, 1280x640 [PAR 1:1 DAR 2:1], 1997 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc

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

What I have see is the the MP4 file I have that will not play seem to be videocodecid: avc1 and audiocodecid: mp4a.

I have made some headway and converted the some file with ffmpeg to .mpg

Still learving about video and audio codec and how they go together.

DAN

Shouldn’t really make a difference whether the video stream is Input 0 or not…  I think most of my files ARE set up like that.

-another edit-

Hmm.  Seems that VLC just numbers streams differently (compared to MKVmerge or MediaInfo) when displaying codecs.  So, my initial statement of my files mostly having the MPEG-4 stream as Track 0 still stands.  

Try using MKVmerge to remux the streams into an MKV container (you don’t mention what type you’re using, I assumed MP4?).

Remuxing is a lot faster than re-encoding, so it’s well worth trying.

You can download MKVmerge as part of MKVtoolnix here:

http://www.bunkus.org/videotools/mkvtoolnix/downloads.html

Also, for more in-depth codec information, download MediaInfo from here:

http://mediainfo.sourceforge.net/