VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. Member
    Join Date
    Nov 2015
    Location
    USA
    Search Comp PM
    Is there a way to mux away from Microsoft MPEG-4 v2 (pre-standard) to something else or to a standard video type?

    I was able to go from V_MS/VFW/FOURCC/H264 to V_MPEG4/ISO/AVC by loading it in Virtualdubmod then direct stream copy then "save as" then the codec id is changed to H264 then open resulting avi file in Mkvtoolnix and mux to mkv file then codec id is changed to V_MPEG4/ISO/AVC.
    It seemed like it was a mux instead of a transcode.
    I needed to change it because V_MS/VFW/FOURCC/H264 does not play on Sony bluray player and V_MPEG4/ISO/AVC does.

    I was looking for a solution like that to convert away from Microsoft MPEG-4 v2 (pre-standard).
    Are there converters that actually tell you before hand if it is going to mux or transcode?
    I prefer not to transcode.
    Last edited by dfm0; 31st Dec 2015 at 22:27.
    Quote Quote  
  2. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date
    Aug 2000
    Location
    Sweden
    Search Comp PM
    Does the new mkv work on your blu-ray player? With the new codec id??? Maybe remux it to a mp4 with mkvtomp4.

    And you must manually choose if you want to just copy/mux the video streams in all video converters like ffmpeg, virtualdub, etc. mkvtoolnix is just a multiplexer so it can't convert/transcode.
    Quote Quote  
  3. Seem that ffmpeg should be OK for you.
    Code:
    ffmpeg -i %1 -c copy -shortest -movflags faststart %1.mp4
    Quote Quote  
  4. Member
    Join Date
    Nov 2015
    Location
    USA
    Search Comp PM
    Yes the new MKV played in the Sony Bluray player. When I made the MKV I also made it 16:9 and for some reason I wanted .mp4 so I used mkvtomp4 and it kept the 16:9 which is what I wanted.

    I was only using the V_MPEG4/ISO/AVC example to show a muxing conversion that worked and looking for a similar muxing conversion to work for converting away
    from MPEG-4 v2 (pre-standard) to a standard video which would play on the bluray player.

    When I tried the same thing with MPEG-4 v2 (pre-standard) it did not work. It kept the MPEG-4 v2 (pre-standard) no matter what I did.
    MPEG-4 v2 (pre-standard) doesn't play on any device except for the computer.
    Transcoding works but results in a much lower quality video and takes very long.
    I figured if I could mux it it would not get any worse quality.
    Thanks for your replies.
    Quote Quote  
  5. Member
    Join Date
    Nov 2015
    Location
    USA
    Search Comp PM
    When I try ffmpeg I get:
    ffmpeg -i sample_MPEG-4v2(pre-standard)AC-3cut.AVI -c copy -shortest -movflags faststart test.mp4
    ffmpeg version N-66618-ge079d43 Copyright (c) 2000-2014 the FFmpeg developers
    built on Oct 4 2014 22:01:58 with gcc 4.9.1 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-zlib
    libavutil 54. 9.100 / 54. 9.100
    libavcodec 56. 2.101 / 56. 2.101
    libavformat 56. 7.104 / 56. 7.104
    libavdevice 56. 1.100 / 56. 1.100
    libavfilter 5. 1.102 / 5. 1.102
    libswscale 3. 1.100 / 3. 1.100
    libswresample 1. 1.100 / 1. 1.100
    libpostproc 53. 1.100 / 53. 1.100
    Input #0, avi, from 'sample_MPEG-4v2(pre-standard)AC-3cut.AVI':
    Duration: 00:01:36.70, start: 0.000000, bitrate: 766 kb/s
    Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 688x480, 602 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, fltp, 128 kb/s
    [mp4 @ 02ac9860] Could not find tag for codec msmpeg4v2 in stream #0, codec not currently supported in container
    Output #0, mp4, to 'test.mp4':
    Metadata:
    encoder : Lavf56.7.104
    Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 688x480, q=2-31, 602 kb/s, 30 fps, 30 tbn, 30 tbc
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, 128 kb/s
    Stream mapping:
    Stream #0:0 -> #0:0 (copy)
    Stream #0:1 -> #0:1 (copy)
    Could not write header for output file #0 (incorrect codec parameters ?): Error number -22 occurred

    Mediainfo of resulting test.mp4:
    General
    Complete name : test.mp4
    Format : MPEG-4
    Format profile : Base Media
    Codec ID : isom (isom/iso2/mp41)
    File size : 28.0 Bytes
    Quote Quote  
  6. Ok then sorry, was not aware that mp4 will not support MP42... perhaps other container support MP42? Try Matroska maybe - have no MP42 video to check.


    Consider to recode video with more modern H.264 - you should be able to keep similar quality with probably lower file size.

    Code:
    @SET x264opts="crf=21:vbv_maxrate=20000:vbv_bufsize=20000:level=4.0:keyint=250:cabac=1:threads=auto:no_psnr=1:no_ssim=1:bluray_compat=1:pic_struct=1:aud=1:nal-hrd=vbr:force-cfr=1:open_gop=0"
    @ffmpeg -i %1 -c:v libx264 -preset medium -tune film -profile:v high -x264opts %x264opts% -x264-params %x264opts% -c:a aac -strict experimental -b:a 160k -af "aformat=sample_fmts=fltp,aresample=resampler=soxr:osr=48000:dither_method=3" -movflags faststart -f mp4 %1.mp4
    Last edited by pandy; 2nd Jan 2016 at 06:42.
    Quote Quote  
  7. Member
    Join Date
    Nov 2015
    Location
    USA
    Search Comp PM
    Thanks pandy. The transcode worked but since the source file is already low quality I end up with lower quality.
    Quote Quote  
  8. MP42 is Microsoft's early experimental MPEG 4 Part 2 (ASP) codec. It's not compatible with other MPEG 4 Part 2 decoders like Divx and Xvid (ffmpeg does include and MP42 decoder though). I've never heard of a TV, Blu-ray, or standalone media player that can play it. Don't confuse this with MPEG 4 Part 10 (AVC, h.264) codecs.
    Quote Quote  
  9. Originally Posted by dfm0 View Post
    Thanks pandy. The transcode worked but since the source file is already low quality I end up with lower quality.
    Consider to change (reduce) CRF value - anything bellow 18 - 16 may be considered as perceptually lossless (as such you should not perceive worse quality), additionally you may try to improve perceived quality for source file before transcoding - there is many filters in ffmpeg (but not only) dedicated to improve perceived quality.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!