VideoHelp Forum
+ Reply to Thread
Results 1 to 25 of 25
Thread
  1. Hi to all the cats

    I should do the following procedure:

    my source is https://dl.dropboxusercontent.com/u/39871584/C0020.mxf

    I have to transcode it with virtualdub using the Morgan Mjpeg (m3mjpeg32.dll) using:

    vdub.exe C0020.mxf /s c:\cat.vcf


    (where c:\cat.vcf is this:

    VirtualDub.audio.SetSource(0);
    VirtualDub.audio.SetMode(0);
    VirtualDub.audio.SetInterleave(1,500,1,0,0);
    VirtualDub.audio.SetClipMode(1,1);
    VirtualDub.audio.SetEditMode(1);
    VirtualDub.audio.SetConversion(0,0,0,0,0);
    VirtualDub.audio.SetVolume();
    VirtualDub.audio.SetCompression();
    VirtualDub.audio.EnableFilterGraph(0);
    VirtualDub.video.SetInputFormat(0);
    VirtualDub.video.SetOutputFormat(7);
    VirtualDub.video.SetMode(1);
    VirtualDub.video.SetSmartRendering(0);
    VirtualDub.video.SetPreserveEmptyFrames(0);
    VirtualDub.video.SetFrameRate2(0,0,1);
    VirtualDub.video.SetIVTC(0, 0, 0, 0);
    VirtualDub.video.SetCompression(0x67706a6d,0,10000 ,0);
    VirtualDub.video.filters.Clear();
    VirtualDub.audio.filters.Clear();
    VirtualDub.SaveAVI("o:temp.avi");
    VirtualDub.Close();

    )


    so I have o:\temp.avi

    after this I would like transfer the timecode of the C0020.mxf into the temp.avi

    and, possibly, I would like change the "mjpg" vtag of the original temp.avi (written by virtualdub) into "MJPG" tag.

    Can I do this?

    thanks to all
    Quote Quote  
  2. with ffmpeg extract the metadata from the 1st file then use -map_metadata 1 on the 2nd file

    https://forum.videohelp.com/threads/360338-Is-there-a-way-to-stamp-a-specific-timecode-...=1#post2282184

    add -vtag "MJPG" to the commandline
    Quote Quote  
  3. thanks poison, so I use c0020.avi (generated with virtualdub), but I get this problem:

    ffmpeg -i c0020.mxf -f ffmetadata metadata.txt

    ffmpeg -y -i c0020.avi -i metadata.txt -map_metadata 1 -vcodec copy -an -id3v2_version 3 -vtag MJPG c0020a.avi

    Click image for larger version

Name:	SR1.JPG
Views:	305
Size:	361.5 KB
ID:	24621

    even if I have use the -vcodec copy.. it's strange but C0020a.avi is 1920x1088

    Mediainfo confirm:

    Generale
    Complete name : D:\c0020a.avi
    Format : AVI
    Format/Info : Audio Video Interleave
    File size : 458MiB
    Duration : 36s 600ms
    Overall bit rate : 105 Mbps
    Writing application : Lavf55.37.100

    Video
    ID : 0
    Format : JPEG
    Codec ID : MJPG
    Duration : 36s 600ms
    Bit rate : 105 Mbps
    Width : 1.920 pixel
    Height : 1.088 pixel
    Display aspect ratio : 16:9
    Frame rate : 25,000 fps
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bit
    Scan type : Interlacciato
    Scan order : Top field first
    Compression mode : Con perdita
    Bits/(Pixel*Frame) : 2.011
    Stream size : 458MiB (100%)

    this is the risult of ffmpeg:

    D:\>ffmpeg -i c0020.avi -i metadata.txt -map_metadata 1 -vcodec copy -acodec cop
    y -id3v2_version 3 c0020a.avi


    ffmpeg version N-62475-g256f530 Copyright (c) 2000-2014 the FFmpeg developers
    built on Apr 15 2014 22:01:57 with gcc 4.8.2 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
    e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
    ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
    ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
    eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
    cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
    ack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable
    -zlib
    libavutil 52. 76.100 / 52. 76.100
    libavcodec 55. 58.103 / 55. 58.103
    libavformat 55. 37.100 / 55. 37.100
    libavdevice 55. 13.100 / 55. 13.100
    libavfilter 4. 4.100 / 4. 4.100
    libswscale 2. 6.100 / 2. 6.100
    libswresample 0. 18.100 / 0. 18.100
    libpostproc 52. 3.100 / 52. 3.100
    Input #0, avi, from 'c0020.avi':
    Duration: 00:00:36.60, start: 0.000000, bitrate: 105029 kb/s
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc), 1920x1088, 1051
    37 kb/s, 25 tbr, 25 tbn, 25 tbc
    Input #1, ffmetadata, from 'metadata.txt':
    Metadata:
    uid : 41821e00-3664-05c1-0270-08004602023b
    generation_uid : 41821e00-3664-05c2-0270-08004602023b
    company_name : SONY
    product_name : Opt
    product_version : 1.22
    product_uid : 060e2b34-0401-0103-0e06-012002010300
    modification_date: 2013-05-24 22:12:18
    timecode : 01:34:21:15
    Duration: N/A, start: 0.000000, bitrate: N/A
    File 'c0020a.avi' already exists. Overwrite ? [y/N] y
    Output #0, avi, to 'c0020a.avi':
    Metadata:
    uid : 41821e00-3664-05c1-0270-08004602023b
    generation_uid : 41821e00-3664-05c2-0270-08004602023b
    company_name : SONY
    product_name : Opt
    product_version : 1.22
    product_uid : 060e2b34-0401-0103-0e06-012002010300
    modification_date: 2013-05-24 22:12:18
    ISMP : 01:34:21:15
    ISFT : Lavf55.37.100
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 1920x1088, q=2-31,
    105137 kb/s, 25 tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    frame= 88 fps=0.0 q=-1.0 size= 47170kB time=00:00:03.52 bitrate=109777.8kbit
    frame= 135 fps=129 q=-1.0 size= 70896kB time=00:00:05.40 bitrate=107551.4kbit
    frame= 194 fps=125 q=-1.0 size= 102732kB time=00:00:07.76 bitrate=108451.4kbit
    frame= 241 fps=114 q=-1.0 size= 126561kB time=00:00:09.64 bitrate=107550.7kbit
    frame= 281 fps=108 q=-1.0 size= 148526kB time=00:00:11.24 bitrate=108249.4kbit
    frame= 320 fps=103 q=-1.0 size= 167634kB time=00:00:12.80 bitrate=107286.0kbit
    frame= 370 fps=103 q=-1.0 size= 194252kB time=00:00:14.80 bitrate=107521.1kbit
    frame= 401 fps= 98 q=-1.0 size= 211868kB time=00:00:16.04 bitrate=108205.9kbit
    frame= 440 fps= 95 q=-1.0 size= 233316kB time=00:00:17.60 bitrate=108597.9kbit
    frame= 466 fps= 91 q=-1.0 size= 247735kB time=00:00:18.64 bitrate=108875.6kbit
    frame= 488 fps= 87 q=-1.0 size= 260016kB time=00:00:19.52 bitrate=109121.6kbit
    frame= 512 fps= 82 q=-1.0 size= 273261kB time=00:00:20.48 bitrate=109304.2kbit
    frame= 547 fps= 81 q=-1.0 size= 292456kB time=00:00:21.88 bitrate=109497.2kbit
    frame= 595 fps= 82 q=-1.0 size= 318672kB time=00:00:23.80 bitrate=109687.3kbit
    frame= 634 fps= 82 q=-1.0 size= 338823kB time=00:00:25.36 bitrate=109449.4kbit
    frame= 680 fps= 82 q=-1.0 size= 360997kB time=00:00:27.20 bitrate=108723.8kbit
    frame= 719 fps= 82 q=-1.0 size= 378895kB time=00:00:28.76 bitrate=107924.4kbit
    frame= 757 fps= 82 q=-1.0 size= 396755kB time=00:00:30.28 bitrate=107338.6kbit
    frame= 779 fps= 80 q=-1.0 size= 407012kB time=00:00:31.16 bitrate=107003.9kbit
    frame= 817 fps= 79 q=-1.0 size= 424105kB time=00:00:32.68 bitrate=106311.8kbit
    frame= 847 fps= 79 q=-1.0 size= 437918kB time=00:00:33.88 bitrate=105886.2kbit
    frame= 873 fps= 77 q=-1.0 size= 450093kB time=00:00:34.92 bitrate=105588.7kbit
    frame= 914 fps= 78 q=-1.0 size= 468791kB time=00:00:36.56 bitrate=105042.0kbit
    frame= 915 fps= 78 q=-1.0 Lsize= 469244kB time=00:00:36.60 bitrate=105028.6kbi
    ts/s
    video:469217kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxin
    g overhead: 0.005763%
    Image Attached Thumbnails Click image for larger version

Name:	SR1.JPG
Views:	424
Size:	313.6 KB
ID:	24620  

    Quote Quote  
  4. c0020.avi was 1920x1088 to begin with

    Code:
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc), 1920x1088, 1051
    37 kb/s, 25 tbr, 25 tbn, 25 tbc

    This probably means you made mistake in vdub before ffmpeg step
    Quote Quote  
  5. oh my cat, its very strange: however yes but seems the morgan codec the problem.

    In virtualdub I have used 2-3 mjpeg codec but only the morgan produce this:

    General
    Complete name : I:\morgan7.avi
    Format : AVI
    Format/Info : Audio Video Interleave
    File size : 14.9 MiB
    Duration : 2s 0ms
    Overall bit rate : 62.6 Mbps
    Writing library : VirtualDub build 35491/release

    Video
    ID : 0
    Format : JPEG
    Codec ID : MJPG
    Duration : 2s 0ms
    Bit rate : 62.6 Mbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Original height : 1 088 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bits
    Scan type : Interlaced
    Scan order : Top Field First
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 1.207
    Stream size : 14.9 MiB (100%)

    With other mjpeg, the mediainfor does not have "Original height" and report only Height: 1080

    I have used the morgan because seems the best quality ...
    Quote Quote  
  6. So 1088 only occurs with Morgan ? Contact the author for support or use something else
    Quote Quote  
  7. yes only with the morgan, but only when I pass the file into ffmpeg. Using the morgan, the ouput is ok on the nle. But after ffmpeg using morgan.. output is 1088.

    Absolutly strange but this is
    Quote Quote  
  8. What happens to the morgan output when you use vdub without the vdub.exe commandline and vcf ? ie. use it normally with video=> fast recomrpess , video=> compression
    Quote Quote  
  9. I have try normally with the virtualdub interface: open c0020.mxf-->fast recompress, set morgan m-jpeg V.3.99.108, and I achieve the output.avi file.

    This output.avi is 1920x1080 but in the mediainfo there are 2 heigh: 1080 and the "original height" of 1088 pixel. Output.avi are recognized as a 1080, but only when I use ffmpeg it produce an output of 1088.

    If I use PICvideo Mjpeg output is 1080 only (mediainfo does not have "original height", only "height" 1080



    General
    Complete name : I:\morgan.avi
    Format : AVI
    Format/Info : Audio Video Interleave
    File size : 118 MiB
    Duration : 4s 0ms
    Overall bit rate : 247 Mbps
    Writing library : VirtualDub build 35491/release

    Video
    ID : 0
    Format : JPEG
    Codec ID : MJPG
    Duration : 4s 0ms
    Bit rate : 247 Mbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Original height : 1 088 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bits
    Scan type : Interlaced
    Scan order : Top Field First
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 4.768
    Stream size : 118 MiB (100%)

    General
    Complete name : I:\picvideo.avi
    Format : AVI
    Format/Info : Audio Video Interleave
    File size : 33.1 MiB
    Duration : 4s 0ms
    Overall bit rate : 69.4 Mbps
    Writing library : VirtualDub build 35491/release

    Video
    ID : 0
    Format : JPEG
    Codec ID : MJPG
    Duration : 4s 0ms
    Bit rate : 69.4 Mbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps
    Color space : YUV
    Chroma subsampling : 4:2:2
    Bit depth : 8 bits
    Scan type : Interlaced
    Scan order : Top Field First
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 1.338
    Stream size : 33.1 MiB (100%)
    Quote Quote  
  10. can I do the timecode transfer (and vtag change) via avisynt?
    Quote Quote  
  11. or I have try to do all with mencoder

    mencoder C0020.mxf -ovc vfw -xvfwopts codec=m3jpeg32.dll:dialog -nosound -o output.avi

    but seems it occour in a colorspace conversion yuy2-->rgb24

    and levels are bad, possibly I don't want the colorspace conversion
    Quote Quote  
  12. I can not understand why ffmpeg does not have to integrate the function of encoding with VFW... this old codecs have never killed anyone. Mencoder does (in a very complicated and difficult) there's no reason why ffmpeg should not do
    Quote Quote  
  13. Originally Posted by marcorocchini View Post
    can I do the timecode transfer (and vtag change) via avisynt?
    no, because avisynth frameserves uncompressed audio & video (no metadata is retained)
    Quote Quote  
  14. Did you try cineform ? Quality is probably better than morgan or any mjpeg , with selectable levels. Very professional codec, fast decoding and encoding. Free version is called "go pro cineform studio". You can access it in vdub or and VFW interface
    Quote Quote  
  15. beautiful codec but I'm forced to use an mjpeg codec. The morgan have very hight quality but have this problem 1088 whith ffmpeg
    Quote Quote  
  16. Why are you "forced" to use a mjpeg codec ?
    Quote Quote  
  17. ehmm my nle can manage only mjpeg, sorry.

    But considering the morgan is the best mjpeg encoder I have seen, can anyone do a custom built (also with payment) of ffmpeg that including the morgan mjpeg codec?
    Quote Quote  
  18. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Originally Posted by marcorocchini View Post
    can anyone do a custom built (also with payment) of ffmpeg that including the morgan mjpeg codec?
    Yes$S......

    Originally Posted by ffmpeg.zeranoe.com/builds/
    upon request FFmpeg can be compiled for LGPL 2.1, LGPL 3.0, GPL 2, or even a custom GPL 3 build. FFmpeg supports many configure options that can provide a fine tuned build that can fit every need.

    To get a quote for the cost of a custom compiled FFmpeg build, contact: zeranoe@zeranoe.com
    Quote Quote  
  19. oh my cats.. very well but I hope doesn't cost a fortune. I have 5 cats to feed :=)
    Quote Quote  
  20. Right.. I forgot about your NLE situation

    You have picvideo don't you ? It yields higher quality at setting "20" than ffmpeg's mjpeg encoder at it's highest quality level
    Quote Quote  
  21. I have well accurate do many and many proof between picvideo (mjpeg 4.0.9.0) and morgan (3.99.108)

    I use the same source, same decompressor, "same quality" level for each codec, same broadcast monitor, same all.

    Results: although the differences are very minimal, the morgan is a little better. Seems the morgan attacks less with artifacts the final image.

    After hundreds proof, for me, the morgan is better.
    Quote Quote  
  22. OK, but mjpeg is a poor intermediate IMO, because it scales YUV as YUVJ (full range) . This standard practice with all MJPEG implementations because MJPEG is based on JPEG. This means it will scale a Y' clip from 16-235 to 0-255. This means you will get banding and introduce line artifacts visible in gradients, even at the highest quality levels (even if you had used a lossless codec you will get artifacts due to the scaling.) You can reduce the artifacts, if you use higher precision levels (e.g. 32bit processing) , but programs like avisynth, vdub, ffmpeg (swscale) do their scaling at 8bit precision .
    Quote Quote  
  23. is the best I can do to be able to use speed razor, however quality is practically the same, at least seeing the difference in a external monitor.
    At the moment the morgan codec is the best I have found, and quality is absolutly respectable. The only problems with ffmpeg is:

    - its internal mjpeg produce file that are not playable in my nle, and they are not playable in virutaldub (multiple chroma block error)
    - ffmpeg can manage vtag and timecode metadata but does not have capabilities to manage vfw codecs

    Mencoder can manage vfw codec but I can not set it to keep yuv colorspace (seems incour in a yuv-->rgb conversion) and to write timecode data in the output file.

    If ffmpeg could handle vfw codec, or if ffmpeg could have the morgan mjpeg internally now I solved every problem..
    Quote Quote  
  24. I wonder why morgan does the 1088 ? Maybe you can do some hexedit magic? jagabo knows all about this AVI header stuff see this thread or PM him . Maybe you can upload a morgan sample and ask him to look at it

    https://forum.videohelp.com/threads/315409-bad-video-dimensions-information
    Quote Quote  
  25. I don't know very well, the only problem with morgan is when I use a file generated with virtualdub with the morgan codec as source for ffmpeg. Virtualdub produce 1080, but ffmpeg interpreter as 1088

    in the mediainfo, with morgan, appean "original height" 1088 but until I don't give it to the ffmpeg I don't have problem with 1080/1088

    maybe I pass directly to the PIC and goodnight to morgan
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!