VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 36
Thread
  1. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    I have a bunch of MP4s I need to move to MKV containers. I don't want to reencode the video or audio streams. MakeMKV would work if it supported MP4 as an input file but it doesn't. Any recommendations on what to use?
    Quote Quote  
  2. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date
    Aug 2000
    Location
    Sweden
    Search Comp PM
    Try MKvmergegui (included in Mkvtoolnix ). MakeMKV wont work.
    Quote Quote  
  3. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    That sort of works. It does the conversion without the reencoding but I get a really bad strobing effect on playback of the resulting MKV which is not present in the source MP4 and is not present in MKVs I produce with MakeMKV. Any idea what that is?
    Quote Quote  
  4. I'm a MEGA Super Moderator Baldrick's Avatar
    Join Date
    Aug 2000
    Location
    Sweden
    Search Comp PM
    You might have to set the framerate manually in mkvmerge. Check under format specific options.

    Or you can try avidemux, open mp4, under video and audio choose copy, save as new mkv.
    Quote Quote  
  5. That's probably a player issue. Try a different media player.
    Quote Quote  
  6. Member
    Join Date
    Feb 2009
    Location
    Hellas
    Search PM
    Perhaps theese:
    Yamb (video raw format), foobar2000 (AAC to WAV), eac3to (WAV to AC-3), mkvmerge GUI
    Quote Quote  
  7. what kind of mp4? use mediainfo
    Quote Quote  
  8. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    Originally Posted by Baldrick View Post
    You might have to set the framerate manually in mkvmerge. Check under format specific options.

    Or you can try avidemux, open mp4, under video and audio choose copy, save as new mkv.
    Avidemux gives me a file without the strobing effect. So I guess that is an option. Though I would rather use Mkvmerge if I could get decent output. Any idea what kind of option(s) I might have to add in Mkvmerge to get rid of the strobing? Right now I am not adding any command line options.
    Quote Quote  
  9. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    It was the framerate. It looks like Mkvmerge was writing it out at 29.??? instead of 23.???fps. I was able to fix it by manuall setting the FPS to 24000/1001. Thanks.
    Quote Quote  
  10. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    I guess that is still not going to work... the audio is all out of sync now. Also looks like avidemux (which is outputting to the correct framerate at least) is losing sync on audio.

    This is a sample input file:

    Format : MPEG-4
    Format profile : Base Media / Version 2
    Codec ID : mp42
    File size : 976 MiB
    Duration : 1h 42mn
    Overall bit rate : 1 334 Kbps
    Encoded date : UTC 2010-01-26 01:09:25
    Tagged date : UTC 2010-01-26 01:58:04
    Writing application : HandBrake 0.9.4 2009112300

    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : Main@L3.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 2 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 1h 42mn
    Bit rate mode : Variable
    Bit rate : 1 169 Kbps
    Width : 720 pixels
    Height : 464 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Variable
    Frame rate : 23.976 fps
    Minimum frame rate : 14.985 fps
    Maximum frame rate : 29.970 fps
    Resolution : 8 bits
    Colorimetry : 4:2:0
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.146
    Stream size : 855 MiB (88%)
    Writing library : x264 core 79
    Encoding settings : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=6 / psy=1 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=2 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=0 / wpredp=2 / keyint=240 / keyint_min=24 / scenecut=40 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Encoded date : UTC 2010-01-26 01:09:25
    Tagged date : UTC 2010-01-26 01:58:04
    Color primaries : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M
    Transfer characteristics : BT.709-5, BT.1361
    Matrix coefficients : BT.601-6 525, BT.1358 525, BT.1700 NTSC, SMPTE 170M

    Audio
    ID : 2
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format version : Version 4
    Format profile : LC
    Format settings, SBR : No
    Codec ID : 40
    Duration : 1h 42mn
    Bit rate mode : Variable
    Bit rate : 160 Kbps
    Maximum bit rate : 245 Kbps
    Channel(s) : 2 channels
    Channel positions : L R
    Sampling rate : 48.0 KHz
    Stream size : 117 MiB (12%)
    Language : English
    Encoded date : UTC 2010-01-26 01:09:25
    Tagged date : UTC 2010-01-26 01:58:04

    Text
    ID : 3
    Format : Apple text
    Codec ID : text
    Duration : 1h 42mn
    Bit rate mode : Variable
    Bit rate : 1 bps
    Stream size : 759 Bytes (0%)
    Encoded date : UTC 2010-01-26 01:09:25
    Tagged date : UTC 2010-01-26 01:58:04
    Last edited by zdvd; 2nd Mar 2010 at 12:12.
    Quote Quote  
  11. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    Xvid4PSP (5.3x version) with Audio and Video in Copy mode. Select MKV as target and away you go.
    Read my blog here.
    Quote Quote  
  12. It's VFR = variable frame rate

    You need to mux with timecodes, or it will never be in sync
    Quote Quote  
  13. Member
    Join Date
    Jun 2006
    Location
    United States
    Search Comp PM
    Originally Posted by poisondeathray View Post
    It's VFR = variable frame rate

    You need to mux with timecodes, or it will never be in sync
    I see there is an option with mkvmerge to pass in a text file with timecodes in it but how would I generate that file off my existing video file?
    Quote Quote  
  14. Member
    Join Date
    Feb 2009
    Location
    Hellas
    Search PM
    Originally Posted by zdvd View Post
    Originally Posted by poisondeathray View Post
    It's VFR = variable frame rate

    You need to mux with timecodes, or it will never be in sync
    I see there is an option with mkvmerge to pass in a text file with timecodes in it but how would I generate that file off my existing video file?
    mkvmerge needs a video and an audio for input.
    Why you don't try Yamb? (Extract the video from the "mp4")
    YOU asked for no reencoding!!!
    The audio has to be different than AAC for "MKV"
    In "format specific options" from mkvmerge type the FPS from the mp4.
    Quote Quote  
  15. Originally Posted by zdvd View Post
    Originally Posted by poisondeathray View Post
    It's VFR = variable frame rate

    You need to mux with timecodes, or it will never be in sync
    I see there is an option with mkvmerge to pass in a text file with timecodes in it but how would I generate that file off my existing video file?
    you can use ffmpegsource2 with avisynth to generate timecodes from the .mp4
    Quote Quote  
  16. Originally Posted by poisondeathray View Post
    Originally Posted by zdvd View Post
    Originally Posted by poisondeathray View Post
    It's VFR = variable frame rate

    You need to mux with timecodes, or it will never be in sync
    I see there is an option with mkvmerge to pass in a text file with timecodes in it but how would I generate that file off my existing video file?
    you can use ffmpegsource2 with avisynth to generate timecodes from the .mp4
    Could you elaborate on how to do this, or point me to somewhere with an explanation?
    Quote Quote  
  17. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by FrozenInferno View Post
    Originally Posted by poisondeathray View Post
    you can use ffmpegsource2 with avisynth to generate timecodes from the .mp4
    Could you elaborate on how to do this, or point me to somewhere with an explanation?
    ffmpegsource2("myvid.mp4", timecodes="blah.txt")
    Quote Quote  
  18. What would I run that through?
    Quote Quote  
  19. Originally Posted by FrozenInferno View Post
    What would I run that through?
    ??
    Quote Quote  
  20. Open it an anything that can open AviSynth scripts -- VirtualDub, a media player, etc. It will generate a timecode file -- "blah.txt".
    Quote Quote  
  21. How exactly would I go about using the ffmpegsource plugin? The website gives me an archive file with a dll and an executable. What do I do with these? How do I install/call on them?
    Quote Quote  
  22. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Have you already installed Avisynth? If not, do that first.

    Then copy the ffms2.dll into the Avisynth plugins folder (default location C:\Program Files\Avisynth 2.5\Plugins).
    You don't need the executable (ffindex.exe), but there should also be a file ffms2.avsi, which should be copied into the plugins folder.

    You need to create a script - a text file containing the line
    ffmpegsource2("myvid.mp4", timecodes="blah.txt")
    (changing "myvid" to the name of your file)
    Rename this file with a .avs extension and you're good to go - as jagabo says, just open it in any application that can process Avisynth scripts.
    Quote Quote  
  23. Ok, I extracted a timecode from an mp4 file with VFR, muxed it in with mkvmerge, and it now seems to show up with a constant frame rate in MediaInfo. Thing is though, when I open the new mkv file with Avidemux, it seems unable to decode it (MPC plays it fine). I just get a solid green frame and I can't move the slider.
    Quote Quote  
  24. Member
    Join Date
    Aug 2004
    Location
    PA USA
    Search Comp PM
    I'd give Freemake a shot...
    It's not important the problem be solved, only that the blame for the mistake is assigned correctly
    Quote Quote  
  25. the solution to your problem is MP42MKVac3
    Quote Quote  
  26. demux input file with Yamb (mp4Box) then mux video and audio file to mkv with mkvmerge gui
    Quote Quote  
  27. Originally Posted by remon View Post
    the solution to your problem is MP42MKVac3
    I set up an account just to thank you!!!! this worked awsome for me... been trying to do just this for months thank you very much. ok... actually.. after two successful container changes, it just stopped working!!! any idea?
    Last edited by wuwearin; 26th Jun 2013 at 21:05.
    Quote Quote  
  28. Same here, this worked twice.. Any further input (apologies for being seriously lazy)
    Quote Quote  
  29. It works for some mp4 but not for others. Can't see the error message when it fails since the cmd window closes too fast
    Quote Quote  
  30. Put "pause" on the next line. That will keep the window open until you press a key.
    Quote Quote  



Similar Threads

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