user9236: Does anyone know how to do lossless conversion from *.mpeg/mpg to mov?
I was asked to extract video from DVDs and do editings in FCPX, however FCPX cannot edit *.mpeg/mpg file natively, therefore I need a way to convert it from mpeg.
I have tried two applications to convert mpeg files:
a) FFmpeg: I used c:v copy to do file wrapping to Mov file, but the conversion was failed, each frame of converted video file is jittering. Looks like there're some information missed in Mov header. 
ffmpeg -i {input_file}.vob -c:v copy -copyts -threads 8 -sn -y {output_file}.mov

ffmpeg started on 2015-01-30 at 16:48:48
Report written to "ffmpeg-20150130-164848.log"
Command line:
ffmpeg -i /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob -c:v copy -sn -t 30 -report -y /Users/yusizhang/Movies/vod2Mov.mov
ffmpeg version 2.5.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  1 2015 20:24:48 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-gpl --enable-pthreads --disable-ffplay --disable-ffserver --disable-shared --enable-static --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib --enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass --enable-libutvideo --enable-filters --enable-postproc --enable-runtime-cpudetect
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument '/Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-sn' ... matched as option 'sn' (disable subtitle) with argument '1'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '30'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '/Users/yusizhang/Movies/vod2Mov.mov' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob.
Successfully parsed a group of options.
Opening an input file: /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob.
[mpeg @ 0x7fbc5201dc00] Format mpeg probed with size=8192 and score=52
[mpeg @ 0x7fbc5201dc00] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
[mpeg @ 0x7fbc5201dc00] probing stream 0 pp:2500
[mpeg @ 0x7fbc5201dc00] Probe with size=2012, packets=1 detected mpegvideo with score=25
[mpeg @ 0x7fbc5201dc00] probed stream 0
[mpeg @ 0x7fbc5201dc00] max_analyze_duration 5000000 reached at 5005000 microseconds
[mpeg @ 0x7fbc5201dc00] After avformat_find_stream_info() pos: 0 bytes read:4542608 seeks:2 frames:466
Input #0, mpeg, from '/Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob':
  Duration: 00:58:50.56, start: 0.233567, bitrate: 2887 kb/s
    Stream #0:0[0x1e0], 152, 1/90000: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x80], 157, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:2[0x81], 157, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 128 kb/s
Successfully opened the file.
Parsing a group of options: output file /Users/yusizhang/Movies/vod2Mov.mov.
Applying option c:v (codec name) with argument copy.
Applying option sn (disable subtitle) with argument 1.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 30.
Successfully parsed a group of options.
Opening an output file: /Users/yusizhang/Movies/vod2Mov.mov.
Successfully opened the file.
detected 8 logical cores
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'time_base' to value '1/48000'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'sample_rate' to value '48000'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'sample_fmt' to value 'fltp'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'channel_layout' to value '0x3'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0x7fbc515008e0] Setting 'sample_fmts' to value 'fltp'
[audio format for output stream 0:1 @ 0x7fbc515008e0] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350'
[AVFilterGraph @ 0x7fbc51501880] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed
[aac @ 0x7fbc52022000] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
[AVIOContext @ 0x7fbc5154cb80] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 0x7fbc51501b20] Statistics: 4542608 bytes read, 2 seeks

b) Qucktime X: I use Quicktime x to open mpeg files and "Save" it into another file. I thought it would be a lossless conversion, but the color was shifting and I saw the bitrate of video was drop.
Is there any good mpeg/mpg to mov wrapper tool which can do the "wrapping" lossless? Or is there a suggested conversion method?
Thanks!

user9236: I found a way to resolve this jittering issue. The root cause is that mpeg file doesn't have full PTS info. There's a closed ticket of FFmpeg talking about exactly this problem:
FFmpeg ticket #974
In order to solve this problem, add -fflags +genpts before the input file. Here is a sample FFmpeg command:
ffmpeg -fflags +genpts -i /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob -c:a copy -c:v copy -threads 8 -sn -y /Users/yusizhang/Movies/vod2Mov_clean/Episode1_clean.mov


9236: <p>Does anyone know how to do lossless conversion from *.mpeg/mpg to mov?</p>

<p>I was asked to extract video from DVDs and do editings in FCPX, however FCPX cannot edit *.mpeg/mpg file natively, therefore I need a way to convert it from mpeg.</p>

<p><strong>I have tried two applications to convert mpeg files:</strong></p>

<p>a) <strong>FFmpeg:</strong> I used <code>c:v copy</code> to do file wrapping to Mov file, but the conversion was failed, each frame of converted video file is jittering. Looks like there're some information missed in Mov header. </p>

<pre><code>ffmpeg -i {input_file}.vob -c:v copy -copyts -threads 8 -sn -y {output_file}.mov

ffmpeg started on 2015-01-30 at 16:48:48
Report written to "ffmpeg-20150130-164848.log"
Command line:
ffmpeg -i /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob -c:v copy -sn -t 30 -report -y /Users/yusizhang/Movies/vod2Mov.mov
ffmpeg version 2.5.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  1 2015 20:24:48 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/tempdisk/sw --as=yasm --enable-gpl --enable-pthreads --disable-ffplay --disable-ffserver --disable-shared --enable-static --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-zlib --enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass --enable-libutvideo --enable-filters --enable-postproc --enable-runtime-cpudetect
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument '/Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-sn' ... matched as option 'sn' (disable subtitle) with argument '1'.
Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '30'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option '/Users/yusizhang/Movies/vod2Mov.mov' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob.
Successfully parsed a group of options.
Opening an input file: /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob.
[mpeg @ 0x7fbc5201dc00] Format mpeg probed with size=8192 and score=52
[mpeg @ 0x7fbc5201dc00] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
[mpeg @ 0x7fbc5201dc00] probing stream 0 pp:2500
[mpeg @ 0x7fbc5201dc00] Probe with size=2012, packets=1 detected mpegvideo with score=25
[mpeg @ 0x7fbc5201dc00] probed stream 0
[mpeg @ 0x7fbc5201dc00] max_analyze_duration 5000000 reached at 5005000 microseconds
[mpeg @ 0x7fbc5201dc00] After avformat_find_stream_info() pos: 0 bytes read:4542608 seeks:2 frames:466
Input #0, mpeg, from '/Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob':
  Duration: 00:58:50.56, start: 0.233567, bitrate: 2887 kb/s
    Stream #0:0[0x1e0], 152, 1/90000: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x80], 157, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:2[0x81], 157, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 128 kb/s
Successfully opened the file.
Parsing a group of options: output file /Users/yusizhang/Movies/vod2Mov.mov.
Applying option c:v (codec name) with argument copy.
Applying option sn (disable subtitle) with argument 1.
Applying option t (record or transcode "duration" seconds of audio/video) with argument 30.
Successfully parsed a group of options.
Opening an output file: /Users/yusizhang/Movies/vod2Mov.mov.
Successfully opened the file.
detected 8 logical cores
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'time_base' to value '1/48000'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'sample_rate' to value '48000'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'sample_fmt' to value 'fltp'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] Setting 'channel_layout' to value '0x3'
[graph 0 input from stream 0:1 @ 0x7fbc51501240] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0x7fbc515008e0] Setting 'sample_fmts' to value 'fltp'
[audio format for output stream 0:1 @ 0x7fbc515008e0] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350'
[AVFilterGraph @ 0x7fbc51501880] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed
[aac @ 0x7fbc52022000] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
[AVIOContext @ 0x7fbc5154cb80] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 0x7fbc51501b20] Statistics: 4542608 bytes read, 2 seeks
</code></pre>

<p>b) <strong>Qucktime X:</strong> I use Quicktime x to open mpeg files and "Save" it into another file. I thought it would be a lossless conversion, but the color was shifting and I saw the bitrate of video was drop.</p>

<p>Is there any good mpeg/mpg to mov wrapper tool which can do the "wrapping" lossless? Or is there a suggested conversion method?</p>

<p>Thanks!</p>
 9236: <p>I found a way to resolve this jittering issue. The root cause is that mpeg file doesn't have full PTS info. There's a closed ticket of FFmpeg talking about exactly this problem:</p>

<p><a href="https://trac.ffmpeg.org/ticket/974" rel="nofollow">FFmpeg ticket #974</a></p>

<p>In order to solve this problem, add <code>-fflags +genpts</code> before the input file. Here is a sample FFmpeg command:</p>

<pre><code>ffmpeg -fflags +genpts -i /Users/yusizhang/Movies/DVDRemaster/dvd_1/track003.vob -c:a copy -c:v copy -threads 8 -sn -y /Users/yusizhang/Movies/vod2Mov_clean/Episode1_clean.mov
</code></pre>
