Quantcast

FFMPEG encoded MPEG-2 video causes error in DVDAuthor

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

FFMPEG encoded MPEG-2 video causes error in DVDAuthor

Gord von Campe
  Hello,

The following command is used to encode videos in MPEG-2 (vob) format
for DVD authoring:

ffmpeg -i invideo.avi -target pal-dvd -f dvd outvideo.vob

('-target' can also be 'ntsc-dvd' or 'film-dvd')

Video streams encoded in this manner using the latest SVN will cause the
following error in DVDAuthor:

'ERR:  SCR moves backwards, remultiplex input.'

DVD authoring then stops. Demuxing the streams and using them
individually, or remuxing them again, will make the error message
disappear, but the resulting MPEG-2 files (m2v or vob) or DVD are
problematic (choppy playback, no or wrong total playing time).

This issue appeared with SVN-r25383, when the following two lines were
added in libavformat/mpegenc.c:

1163   if(!s->last_scr)
1164   s->last_scr= dts;

Could there be a way to call for this new behavior via a command line
option, allowing the use of the "old" MPEG-2 encoding method (the
original problem might reside in the source material, but I never had a
single complaint regarding soft- or hardware compatibility and video
streams encoded using the "old" method)?

By the way, the reason for the above modifications was:

'Init SCR in mpeg muxer based on first DTS.
This fixes issues if the first DTS is far away from 0.'

When would this be a problem (in case most users are affected by this, I
can also just comment out lines 1163 and 1164 to "fix" the problem for
me and nonetheless use the latest SVN...)?

Thanks,

Gord

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

Baptiste Coudurier-2
Hi,

On 10/14/2010 12:33 PM, Gord von Campe wrote:

> Hello,
>
> The following command is used to encode videos in MPEG-2 (vob) format
> for DVD authoring:
>
> ffmpeg -i invideo.avi -target pal-dvd -f dvd outvideo.vob
>
> ('-target' can also be 'ntsc-dvd' or 'film-dvd')
>
> Video streams encoded in this manner using the latest SVN will cause the
> following error in DVDAuthor:
>
> 'ERR: SCR moves backwards, remultiplex input.'
>
> DVD authoring then stops. Demuxing the streams and using them
> individually, or remuxing them again, will make the error message
> disappear, but the resulting MPEG-2 files (m2v or vob) or DVD are
> problematic (choppy playback, no or wrong total playing time).
>
> This issue appeared with SVN-r25383, when the following two lines were
> added in libavformat/mpegenc.c:
>
> 1163 if(!s->last_scr)
> 1164 s->last_scr= dts;
>
> Could there be a way to call for this new behavior via a command line
> option, allowing the use of the "old" MPEG-2 encoding method (the
> original problem might reside in the source material, but I never had a
> single complaint regarding soft- or hardware compatibility and video
> streams encoded using the "old" method)?
>
> By the way, the reason for the above modifications was:
>
> 'Init SCR in mpeg muxer based on first DTS.
> This fixes issues if the first DTS is far away from 0.'
>
> When would this be a problem (in case most users are affected by this, I
> can also just comment out lines 1163 and 1164 to "fix" the problem for
> me and nonetheless use the latest SVN...)?

This will be fixed. Thanks for the report.

--
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

Baptiste Coudurier-2
In reply to this post by Gord von Campe
Hi,

On 10/14/10 12:33 PM, Gord von Campe wrote:

>  Hello,
>
> The following command is used to encode videos in MPEG-2 (vob) format
> for DVD authoring:
>
> ffmpeg -i invideo.avi -target pal-dvd -f dvd outvideo.vob
>
> ('-target' can also be 'ntsc-dvd' or 'film-dvd')
>
> Video streams encoded in this manner using the latest SVN will cause the
> following error in DVDAuthor:
>
> 'ERR:  SCR moves backwards, remultiplex input.'
>
> DVD authoring then stops. Demuxing the streams and using them
> individually, or remuxing them again, will make the error message
> disappear, but the resulting MPEG-2 files (m2v or vob) or DVD are
> problematic (choppy playback, no or wrong total playing time).
>
> This issue appeared with SVN-r25383, when the following two lines were
> added in libavformat/mpegenc.c:
>
> 1163   if(!s->last_scr)
> 1164   s->last_scr= dts;
>
> Could there be a way to call for this new behavior via a command line
> option, allowing the use of the "old" MPEG-2 encoding method (the
> original problem might reside in the source material, but I never had a
> single complaint regarding soft- or hardware compatibility and video
> streams encoded using the "old" method)?
>
> By the way, the reason for the above modifications was:
>
> 'Init SCR in mpeg muxer based on first DTS.
> This fixes issues if the first DTS is far away from 0.'
>
> When would this be a problem (in case most users are affected by this, I
> can also just comment out lines 1163 and 1164 to "fix" the problem for
> me and nonetheless use the latest SVN...)?
Could you please test the attached patch ?

Thanks for your help.

--
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-user

mpegenc.patch (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

Gord von Campe
Hello Baptiste,

On 10-15-2010 05:28, Baptiste Coudurier wrote:

> Hi,
>
> On 10/14/10 12:33 PM, Gord von Campe wrote:
>>   Hello,
>>
>> The following command is used to encode videos in MPEG-2 (vob) format
>> for DVD authoring:
>>
>> ffmpeg -i invideo.avi -target pal-dvd -f dvd outvideo.vob
>>
>> ('-target' can also be 'ntsc-dvd' or 'film-dvd')
>>
>> Video streams encoded in this manner using the latest SVN will cause the
>> following error in DVDAuthor:
>>
>> 'ERR:  SCR moves backwards, remultiplex input.'
>>
>> DVD authoring then stops. Demuxing the streams and using them
>> individually, or remuxing them again, will make the error message
>> disappear, but the resulting MPEG-2 files (m2v or vob) or DVD are
>> problematic (choppy playback, no or wrong total playing time).
>>
>> This issue appeared with SVN-r25383, when the following two lines were
>> added in libavformat/mpegenc.c:
>>
>> 1163   if(!s->last_scr)
>> 1164   s->last_scr= dts;
>>
>> Could there be a way to call for this new behavior via a command line
>> option, allowing the use of the "old" MPEG-2 encoding method (the
>> original problem might reside in the source material, but I never had a
>> single complaint regarding soft- or hardware compatibility and video
>> streams encoded using the "old" method)?
>>
>> By the way, the reason for the above modifications was:
>>
>> 'Init SCR in mpeg muxer based on first DTS.
>> This fixes issues if the first DTS is far away from 0.'
>>
>> When would this be a problem (in case most users are affected by this, I
>> can also just comment out lines 1163 and 1164 to "fix" the problem for
>> me and nonetheless use the latest SVN...)?
>
> Could you please test the attached patch ?
>
> Thanks for your help.
>
Thank you for looking into this and for your patch!
Yes, it seems to fix all the mentioned problems:

- No more error message in DVDAuthor
- Resulting MPEG-2 files (vob or m2v) play smoothly
- Authored DVD plays smoothly on various software and standalone DVD
   players with correct total running time displayed
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

Kilian
This post has NOT been accepted by the mailing list yet.
In reply to this post by Baptiste Coudurier-2
Hello Baptiste,

Could you tell me what SVN version this was fixed in? I'm currently having choppy playback when I burn and play it on a standard DVD player. Thanks.

 - Steve

General commands that I tried:

ffpmeg -y -i original.vob -i modified.wav -vcodec copy -map 0:0 -acodec ac3 -ab 192k -map 1:0 -target ntsc-dvd -f vob output.vob

ffpmeg -y -i original.vob -i modified.wav -map 0:0 -acodec ac3 -ab 192k -map 1:0 -target ntsc-dvd -f vob output.vob

ffmpeg build that I'm using
FFmpeg version SVN-r26112-Sherpya, Copyright (c) 2000-2010 the FFmpeg developers
  built on Dec 28 2010 04:54:02 with gcc 4.2.5 20090330 (prerelease) [Sherpya]
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 0 /  0.16. 0
  libavcodec    52.100. 0 / 52.100. 0
  libavformat   52.91. 0 / 52.91. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.72. 0 /  1.72. 0
  libswscale     0.12. 0 /  0.12. 0
  libpostproc   51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

johnnyquid
This issue/bug still exists in the latest window build from http://ffmpeg.zeranoe.com/builds/.  See the ffmpeg and dvdauthor output below.


E:\Temp\bugfiles>ffmpeg -v 9 -loglevel 99 -i ranft.m2v -itsoffset -00:00:00.775
-i ranft.ac3 -vcodec copy -acodec copy -target ntsc-dvd -y ranft.mpg
ffmpeg version N-31653-gfaa3381, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul 28 2011 01:57:12 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-
runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --
enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl
e-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51. 11. 0 / 51. 11. 0
  libavcodec   53.  9. 0 / 53.  9. 0
  libavformat  53.  6. 0 / 53.  6. 0
  libavdevice  53.  2. 0 / 53.  2. 0
  libavfilter   2. 27. 3 /  2. 27. 3
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mpegvideo @ 01F2B5C0] Format mpegvideo probed with size=32768 and score=51
[mpeg1video @ 02000260] Unsupported bit depth: 0
[mpegvideo @ 01F2B5C0] max_analyze_duration 5000000 reached at 5005000
[mpegvideo @ 01F2B5C0] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegvideo, from 'ranft.m2v':
  Duration: 00:00:08.88, bitrate: 8999 kb/s
    Stream #0.0, 152, 1/1200000: Video: mpeg2video (Main), yuv420p, 720x480 [PAR
 32:27 DAR 16:9], 1001/60000, 9000 kb/s, 29.97 fps, 29.97 tbr, 1200k tbn, 59.94
tbc
[ac3 @ 01F2F720] Format ac3 probed with size=8192 and score=51
[ac3 @ 01F297A0] Unsupported bit depth: 0
[ac3 @ 01F2F720] max_analyze_duration 5000000 reached at 5024000
[ac3 @ 01F2F720] Estimating duration from bitrate, this may be inaccurate
Input #1, ac3, from 'ranft.ac3':
  Duration: 00:00:20.83, start: 0.000000, bitrate: 384 kb/s
    Stream #1.0, 159, 1/90000: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Output #0, dvd, to 'ranft.mpg':
  Metadata:
    encoder         : Lavf53.6.0
    Stream #0.0, 0, 1/90000: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR
16:9], 1001/30000, q=2-31, 9000 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1, 0, 1/90000: Audio: ac3, 48000 Hz, 5.1, 384 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #1.0 -> #0.1
Press [q] to stop, [?] for help
frame=  573 fps=  0 q=-1.0 Lsize=   10882kB time=00:00:19.11 bitrate=4662.6kbits
/s
video:9766kB audio:977kB global headers:0kB muxing overhead 1.301527%

E:\Temp\bugfiles>E:\Temp\bugfiles>dvdauthor.exe -o dvdtest -x dvd.xml
DVDAuthor::dvdauthor, version 0.6.18.
Build options: gnugetopt iconv freetype fribidi
Send bugs to <dvdauthor-users@lists.sourceforge.net>

INFO: dvdauthor creating VTS
STAT: Picking VTS 01

STAT: Processing e:\temp\bugfiles\ranft.mpg...
ERR: SCR moves backwards, remultiplex input: 23131 < 8589910134

E:\Temp\bugfiles>



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FFMPEG encoded MPEG-2 video causes error in DVDAuthor

johnnyquid
The source code has been changed from what was reported at the beginning of the thread.  The old code was (quoted from reply above):

This issue appeared with SVN-r25383, when the following two lines were
added in libavformat/mpegenc.c:

1163   if(!s->last_scr)
1164   s->last_scr= dts;


The new code in mpegenc.c starting at line 1163 is now (but the issue still exists):

    pts= pkt->pts;
    dts= pkt->dts;

    if(pts != AV_NOPTS_VALUE) pts += 2*preload;
    if(dts != AV_NOPTS_VALUE){
        if(!s->last_scr)
            s->last_scr= dts + preload;
        dts += 2*preload;
    }
Loading...