Log in

View Full Version : FFMpeg avs -> mpg: image vertically flipped


Redsandro
6th April 2009, 20:42
Hi,

I am looking for a free method of converting my lagarith video files to mpeg-2. At university I used TMPGEnc for a neat job, but at home I am looking for open solutions, preferably ones that also work on linux.

I guess I should be ashamed, but google brought me to FFMpeg and I've never used it. I learned it does not support lagarith files, so I frameserve them with avisynth. Both the source and the avisynth file play fine (not flipped, that is), but once I ffmpeg them to mpeg, they are flipped. I cannot seem to find the solution online. Do you have an idea?

Also, the result has one less frame than the input. Why? I like the equal amount of frames. Most apps start complaining when you swap proxies that are not the same amount of frames.

Finally, the encoder complains about buffer underflow and overflows, ignoring muxing buffer limits. I get these messages whether or not I specify additional options.

[mpeg @ 0x2d88b30]packet too large, ignoring buffer limits to mux it
[mpeg @ 0x2d88b30]buffer underflow i=0 bufi=235461 size=237633
[mpeg @ 0x2d88b30]buffer underflow i=0 bufi=237502 size=237633
[mpeg @ 0x2d88b30]packet too large, ignoring buffer limits to mux itetc.

Used commands:
ffmpeg -i "test.avs" -s hd1080 -aspect 16:9 -b 25M -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 13 -bf 2 test.mpg
ffmpeg -i "test.avs" -s hd1080 -aspect 16:9 -b 25M -g 13 -bf 2 -vcodec mpeg2video test.mpg
ffmpeg -i "test.avs" -s hd1080 -aspect 16:9 -b 25M -g 13 -bf 2 test.mpg
Same result.

Inspector.Gadget
6th April 2009, 21:57
http://avisynth.org/FlipVertical

Redsandro
6th April 2009, 22:01
Yes that's smart. But why? Why does FFMpeg do this oddity?
What if I want to encode something that is not avisynth?

-edit-

You know, math students never get good grades when they don't know "why" something works in a way. So it is not a stupid question. :)

Inspector.Gadget
6th April 2009, 22:32
I have no idea what's going on with ffmpeg. But I'm sure someone here does - that's the great part about doom9's forums ;)

Redsandro
7th April 2009, 16:03
I hope they show up ;)

About the FlipVertical, if I ConvertToYV12() myself, the final result is NOT flipped. So I think internal FFMPEG conversion makes this happen. Not sure though.

Anyway, the frame count thing is like so:
In GSPot, they both show as 61 frames.
In VirtualDub-MPEG2, the TMPGEnc one has 61 frames and the FFMPEG one has 60 frames, but the frame before the last frame is missing, which is odd. Is it even possible to have a GOP structure that misses a frame without error/corruption of a frame being the cause?

FFMPEG is good for automation! I only need to figure how to get that second-last frame back.

-update-

Also, GSpot and DGIndex identify the FFMPEG output as MPEG1-program stream even though I want MPEG-2:ffmpeg -i "test.avs" -s hd1080 -aspect 16:9 -r 25 -vcodec mpeg2video -b 25M -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 13 -bf 2 -sb 384k test.mpg

unskinnyboy
7th April 2009, 18:18
What happens if you force the format using -f mpeg2video?

Redsandro
7th April 2009, 18:47
Ah, then it is forced into an MPEG-Elementary Stream.
But I might be confused. For the file I had in my previous post, DGIndex reports Stream Type: MPEG1-Program Stream. But this is the container, right?
GSpot sais MPEG-1 System Stream, but for video codec MPEG-2, which is correct. And frankly the quality is too good to be MPEG1. I think MPEG1 wouldn't even be able to encode HD footage (not sure though).

Is Program Stream the same as System Stream? I thought there only was PS, ES and TS so I think so.

Anyway sorry for my mistakes. I still wonder about that second-last frame missing in vDub though. Even if vDub is to blame, what difference is there in the files that makes it so for FFMPEG only?

Redsandro
7th April 2009, 22:04
I figured it out. System stream is for MPEG1 container and Program Stream (or TS) is for MPEG2 container.
You need to force this by setting -f vob



I updated my batch MPEG script that I use for making MPEG proxies for Lagarith footage. If anyone is interested in automating, you can easily change mine to suit your needs. It probably saves you a bunch of time, because VBScript sucks imo. Here (http://www.rednet.nl/en/vision/articles/199)'s an outdated article describing the use.
'' RED MpegBatcher script 0.3b2
'' Convert all .AVI files without an .MPG counterpart to .MPG using either FFMPEG or TMPGEnc
''
'' By Sander Steenhuis
'' 2008-09-07 - 2009-04-07
'' http://www.REDnet.nl/en/

' Usage:
'
' Copy this script to a folder full of .AVI's.
' Edit a bunch of vars (Dim) below (the ones before the Subroutine starts) to suit your needs and make sure they are correct and existing. (!)
' TMPGEnc only:
' Copy a random video file to P:\Temp\TMPGEncBatcher.avi (with same specs as the files you are going to convert)
' Open TMPGEnc, load P:\Temp\TMPGEncBatcher.avi, apply your favorite settings, press ctrl+alt+M (Add project to Batch List), use P:\Temp\TMPGEncBatcher.avi as name, exit TMPGEnc.
'
' Notes:
'
' Depending on the parent app that calls this script (cscript.exe, command, registry shell extension, or some explorer replacement) the system32 folder from Windows will either be mapped to SysWOW64 or not.
' Make sure required commands are available from both (for example ffmpeg.exe)

Option Explicit
'On Error Resume Next
Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")
Dim currentFolder, fileDone, fileSkip, fsoFile, fileMpeg, pauseExit



' GLOBAL
'

' Set this to your encoding preference
' FFMPEG/TMPGEnc/AFTEREFFECTS
Dim encoder: encoder = "FFMPEG"
' Set this to trailing text in your .AVI name that's not in your .MPEG files.
' For example, my lagarith avifiles are named as "Shot 02.01.03 Morning.Laggy.avi" while the mpegs are called "Shot 02.01.03 Morning.mpg"
Dim aviTrail: aviTrail = ".Laggy"
' Similar for the mpegfile, if you want to do something crazy like appending a date.
' Note that this is included in the search for already mpegged files.
Dim mpgTrail: mpgTrail = ""

' TMPGEnc
'

' Set this to your TMPGEnc path INCLUDING END SLASH.
Dim TMPGEncPath: TMPGEncPath = "D:\Software\Video\TMPGEnc Plus\"
' Set this to your TMPGEnc executable.
Dim TMPGEnc: TMPGEnc = "TMPGEnc.exe"
' Set this to your temporary video folder. INCLUDE END SLASH.
Dim TempDir: TempDir = "P:\Temp\"
' Set this to your temporary video name. NO EXTENSION.
Dim TempFile: TempFile = "TMPGEncBatcher"

' FFMPEG
'

' Command
Dim FFavs: FFavs = "MpegBatcherFFMPEG.avs"
Dim FFmpg: FFmpg = "MpegBatcherFFMPEG.mpg"
Dim FFcmd: FFcmd = "ffmpeg -i " & FFavs & " -s hd1080 -aspect 16:9 -r 25 -vcodec mpeg2video -f vob -b 25M -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 13 -bf 2 -ab 384k " & FFmpg & ""



' Begin
Main

Sub Main
' set globals
Set currentFolder = fso.GetFolder(".")
fileDone = 0: fileSkip = 0
pauseExit = False

' Begin output
WScript.Echo "**************************"
WScript.Echo "* RED MpegBatcher script *"
WScript.Echo "**************************"
WScript.Echo ""
WScript.Echo "Encoder: " & encoder
WScript.Echo ""

Select Case UCase(encoder)
Case "TMPGENC"

If Not dialogStart("TMPGEnc Free 2.5") Then Exit Sub

' Start the process if there's a batch project
If fso.FileExists(TMPGEncPath & "CurrentBatch.tbe") Then
' Make template copy of CurrentBatch.tbe to reset finished state again and again
WScript.Echo "Backing up CurrentBatch.tbe ..."
Set fsoFile = fso.GetFile(TMPGEncPath & "CurrentBatch.tbe")
fsoFile.Copy(TMPGEncPath & "CurrentBatch.tbe.bak")
Else
WScript.Echo "You did not save your project as a Batch List in TMPGEnc!"
WScript.Echo "Save a phoney single file '" & TempDir & TempFile & ".avi' to '" & TempDir & TempFile & ".mpg' conversion batch in TMPGEnc using your preferred settings, and this file will be used for all batch conversions."
pauseExit = True
End If

Case "FFMPEG"
If Not dialogStart("FFMPEG") Then Exit Sub
Case "AFTEREFFECTS"
WScript.Echo "This encoder is not explicitly added yet. Just edit the FFMPEG command line and you're off!"
pauseExit = True
Case Else
WScript.Echo "Invalid encoding option: " & encoder
pauseExit = True
End Select

If pauseExit = False Then
' Parse folder
parseFolder currentFolder

' Ergo Conclusio
WScript.Echo fileDone & " files encoded; " & fileSkip & " files were already encoded."
End If

WScript.Echo "Press ENTER to exit."
' Pause so the promt doesn't close immediately
Do While Not WScript.StdIn.AtEndOfLine
Dim Input: Input = WScript.StdIn.Read(1)
Loop
WScript.Echo "Done."

End Sub

Function dialogStart(ByVal encoder)
WScript.Echo "Sending unprocessed .AVI files to " & encoder & " from this directory: "
WScript.Echo ""
WScript.Echo currentFolder.Path
WScript.Echo ""
WScript.Echo "Search for: *" & aviTrail & ".avi"
WScript.Echo "Without: *" & mpgTrail & ".mpg"
WScript.Echo ""
If Not promptYesNo("Continue? (y/n): ") Then dialogStart = False: Exit Function
WScript.Echo ""
dialogStart = True
End Function



Sub parseFolder (ByVal Folder)
' Prepare vars
Dim Files: Set Files = Folder.Files
Dim File

' Loop through dir
For Each File In Files
Dim fileBase: fileBase = fso.getBaseName(File.Name)
Dim fileExt: fileExt = fso.getExtensionName(File.Name)
If UCase(fileExt) = "AVI" Then
fileMpeg = Replace(fileBase, aviTrail, mpgTrail, 1, -1, 1) & ".mpg"
'fileMpeg = Replace(File.Name, aviTrail & ".avi", mpgTrail & ".mpg")
If Not fso.FileExists(currentFolder.Path & "\" & fileMpeg) Then
' Check for specified file trailing
If UCase(Right(fileBase,Len(aviTrail))) = UCase(aviTrail) Then
WScript.Echo File.Name & " FOUND"
WScript.Echo fileMpeg & " MISSING"
Select Case UCase(encoder)
Case "TMPGENC"
doTMPGEnc File
Case "FFMPEG"
doFFMPEG File
End Select
Else
fileSkip = fileSkip + 1
End If
Else
fileSkip = fileSkip + 1
End If
End If
Next
End Sub



' TMPGEnc functions
'
Sub doTMPGEnc (ByVal File)
' Dim vars
Dim tmpAvi: tmpAvi = TempDir & TempFile & ".avi"
Dim tmpMpeg: tmpMpeg = TempDir & TempFile & ".mpg"

' Check if temp files exists, delete..
If fso.FileExists(tmpAvi) Then
WScript.Echo "Deleting " & tmpAvi & " ..."
fso.DeleteFile(tmpAvi)
End If
If fso.FileExists(tmpMpeg) Then
WScript.Echo "Deleting " & tmpMpeg & " ..."
fso.DeleteFile(tmpMpeg)
End If

' Copy target file to temp file
Set fsoFile = fso.GetFile(File)
WScript.Echo "Copying " & File.Name & " to " & TempDir & "..."
fsoFile.copy(TempDir)
WScript.Echo "Renaming " & File.Name & " to " & TempFile & ".avi" & "..."
Set fsoFile = fso.GetFile(TempDir & File.Name)
fsoFile.Move(TempDir & TempFile & ".avi")

' Reset Batch List template
resetBatchList

' Run TMPGEnc in batch + autoclose mode
WScript.Echo "Starting " & TMPGEnc & "..."
WScript.Echo ""
run chr(34) & TMPGEncPath & TMPGEnc & chr(34) & " /batch /close"
fileDone = fileDone + 1

' Reset Batch List template again, (You'd understand why if you was debugging this script)
resetBatchList

' Successful? Delete .avi
If fso.FileExists(tmpAvi) Then
WScript.Echo "Deleting " & tmpAvi & " ..."
fso.DeleteFile(tmpAvi)
End If

' and move .mpg
WScript.Echo "Moving '" & tmpMpeg & "' to " & currentFolder.Path
Set fsoFile = fso.GetFile(tmpMpeg)
fsoFile.Move(currentFolder.Path & "\" & fileMpeg)
WScript.Echo ""
End Sub

Function resetBatchList()
WScript.Echo "Resetting CurrentBatch.tbe ..."
If fso.FileExists(TMPGEncPath & "CurrentBatch.tbe") Then
fso.DeleteFile(TMPGEncPath & "CurrentBatch.tbe")
End If
Set fsoFile = fso.GetFile(TMPGEncPath & "CurrentBatch.tbe.bak")
fsoFile.Copy(TMPGEncPath & "CurrentBatch.tbe")
End Function






' FFMPEG
'
Sub doFFMPEG (ByVal File)

' Create AVS file
WScript.Echo "Creating '" & FFavs & "'"
Dim avsFile: Set avsFile = fso.OpenTextFile (currentFolder.Path & "\" & FFavs, 2, True)
avsFile.WriteLine("AVISource(""" & File.Name & """)")
avsFile.WriteLine("ConvertToYV12(matrix=""PC.709"")")
avsFile.WriteLine("")
avsFile.Close

' Run FFMPEG
WScript.Echo "Starting ffmpeg.exe..."
WScript.Echo FFcmd
WScript.Echo ""
run FFcmd
' Alternate execution to run command from script dir:
'run "cmd /K CD """ & currentFolder.Path & "\"" & " & FFcmd
fileDone = fileDone + 1

' Rename MPEG
WScript.Echo "Renaming '" & FFmpg & "' to '" & fileMpeg & "'"
Set fsoFile = fso.GetFile(FFmpg)
fsoFile.Move(currentFolder.Path & "\" & fileMpeg)

' Remove AVS file
WScript.Echo "Removing '" & FFavs & "'"
fso.DeleteFile(currentFolder.Path & "\" & FFavs)
WScript.Echo ""
End Sub






Function promptYesNo(ByVal strMsg)
Do
WScript.Echo strMsg
Dim key: key = WScript.StdIn.ReadLine()
Select Case LCase(Trim(key))
Case "n","no" promptYesNo = False: Exit Function
Case "y","yes" promptYesNo = True: Exit Function
End Select
WScript.StdOut.WriteLine "Just enter 'y' or 'n'..."
Loop
End Function

Sub run(ByVal executable)
Dim shell: Set shell = CreateObject("WScript.Shell")
shell.Run executable, 1, true
Set shell = Nothing
End Sub

Redsandro
7th January 2010, 02:30
Darnit, I step into my own footsteps. I am trying to encode a bunch of video's for on DVD, and they all turned upside down. When googling for solutions, I merely found my own topic as doom9 feedback.

ffmpeg -i inputfile.avs -target pal-dvd -aspect 16:9 -b 8000k -maxrate 9616k -ab 384k out.vob
The AVS is AviSource'ing a Lagarith RGB HD video file because ffmpeg cannot open it directly. Apart from being upside down, the result is perfect.

If I ConvertToYV21() myself (I thought maybe that conversion was causing the trouble), ffmpeg stops after a second leaving an unusable output file.
ffmpeg -i input.avs -target pal-dvd -aspect 16:9 -b 8000k -maxrate 9616k out2.vob
FFmpeg version SVN-r18603, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --enable-avisynth --enable-gpl --enable-zlib --enable-bzlib --enable-libgsm --enable-libfaac --enable-libfaad --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.26. 0 / 52.26. 0
libavformat 52.32. 0 / 52.32. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Apr 18 2009 04:04:31, gcc: 4.2.4
Input #0, avs, from 'input.avs':
Duration: 00:00:10.00, start: 0.000000, bitrate: 0 kb/s
Stream #0.0: Video: rawvideo, bgra, 748x80, 45957 kb/s, 24 tbr, 24 tbn, 24 tbc
File 'out2.vob' already exists. Overwrite ? [y/N] y
Output #0, dvd, to 'out2.vob':
Stream #0.0: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], q=2-3
1, 8000 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 249 fps=197 q=2.0 Lsize= 1588kB time=9.92 bitrate=1311.4kbits/s
video:1489kB audio:0kB global headers:0kB muxing overhead 6.656592%


If I choose the first (working but flipped) method and I add --pass 1, --pass 2 will crash ffmpeg after a few minutes.

It is SO HARD* just to make a little DVD, someone please help me.
*) Based on the fact that I wasted the better portion of my day on it without results to make it worth my while.

I also found this about the flipping:
as people who tried --enable-swscaler might have noticed, doing an YUV <--> RGB conversion with ffmpeg can result in a vertically flipped image (if an AVI file is involved, for example).
I finally had some time for looking at the problem, and I discovered that this happens because sws_scale() does not honour negative line sizes. sws_scale_ordered(), however, behaves correctly even with negative line sizes.http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-January/021194.html

Bug from 2007. I am using FFmpeg version SVN-r20900-Sherpya, built on Dec 20 2009 03:53:05 with gcc 4.2.5 20080919 (prerelease) [Sherpya]. Don't blame it on the prerelease though, I've tried many versions including that decrepated stable version.

MrC
8th January 2010, 18:08
It is SO HARD* just to make a little DVD, someone please help me.

Why don't you have a look at all-in-one DVD converter like AVStoDVD? Open source... developed in VB... you should appreciate it.

;)

Bye

Midzuki
8th January 2010, 20:05
@ Redsandro:

have you ever tried "avs2yuv + mpeg2enc" ?

Redsandro
9th January 2010, 09:33
Why don't you have a look at all-in-one DVD converter like AVStoDVD? Open source... developed in VB... you should appreciate it.
Because I want to use command line tools that I can use in scripts, possibly on remote computers. I want to use tools that are known for their quality. And it should work. But it does weird stuff, so I am curious why there are 3 year old bugs in there and nobody else seems to have a problem.

have you ever tried "avs2yuv + mpeg2enc" ?

I use avs2yuv with x264 for my avc encodes, but I didn't know about mpeg2enc. Strangely I cannot find a lot about it. No wikipedia. But I think I've read that command in the tovid (http://www.tovid.org/2009/10/tovid.html) scipts for linux. I read that script in order to find a better non-flip command line for ffmpeg to use. ;) But that elaborate script would require a bunch of hours researching to see what it ends up with and I couldn't get it to just run to spy on it.

Mpeg2enc souns interesting though.
http://www.transcoding.org/transcode?FFmpeg_Vs._Mpeg2enc
It annoys me in that article that TmpgEnc has the best quality because it's a commercial tool, and not command-line versatile at all. I used to use it at school.

Still, I'd like to keep an ffmpeg workflow to keep it simple, since I can use it for a lot more. I only made an exception for x264 so far because.. well people say it's the best. And in my personal eyeballtests it is.

So apart from these helpful tips, what also would be helpful is quotes from other people's workflows including scripts and commands.

At the moment I am using the FlipVertical(), which doesn't make sense but it is a workaround.

You can see one of my scripts in the above post (#8 (http://forum.doom9.org/showthread.php?p=1271030#post1271030)). But at the moment in my Windows workflow I've just made a registry entry to rightclick-convert .avs straight to .vob.

HKEY_CLASSES_ROOT\SystemFileAssociations\.avs\Shell\FFdvd\@=
.AVS to .VOB

HKEY_CLASSES_ROOT\SystemFileAssociations\.avs\Shell\FFdvd\Command\@=
cmd /k ffmpeg -i "%1" -target pal-dvd -aspect 16:9 -b 8000k -maxrate 9616k -ab 384k "%1.vob"

Note: SystemFileAssociations is the new key for Win7, it doesn't work like that in XP. Don't know about Vista because I skipped it.

Normally you would use cmd /c but /k is easier for debugging trouble.

MrC
9th January 2010, 09:53
Because I want to use command line tools that I can use in scripts, possibly on remote computers. I want to use tools that are known for their quality.

Ehm, AVStoDVD just does use command line tools (HCenc, QuEnc, Aften, ffmpeg, MuxMax, etc.). Maybe you can find some hints from the log file, in which all the cli are saved. Sometimes approaching the matter in another perspective is useful.

And, if you want good quality in mpeg2 encoding, you should definitively use HCenc.

These are my 2 cents, of course.

;)

Bye

Redsandro
9th January 2010, 10:56
Yes no bring up all the cents, I like it! ;)
Maybe I will take a peek in what AvsDvd makes of the commandline.

About HCenc (http://www.bitburners.com/hc-encoder/), I had never heard of it. But one man's closed source's freeware can hardly be good or holding a future, right? The last version is like 20 months old. And it is infinitively unpopular compared to open source established encoders (http://www.google.com/trends?q=ffmpeg%2C+mencoder%2C+mpeg2enc%2C+hcenc).

MrC
9th January 2010, 13:41
About HCenc (http://www.bitburners.com/hc-encoder/), I had never heard of it. But one man's closed source's freeware can hardly be good or holding a future, right? The last version is like 20 months old. [/URL].

Have a look to the official HCenc thread (http://forum.doom9.org/showthread.php?t=137666) here @ Doom9.

There is also a 0.24 beta release (http://forum.doom9.org/showthread.php?t=143850).

Finally, here you are a test comparison (http://forum.doom9.org/showthread.php?t=146835) between mpeg2 encoders (ffmpeg not present).

;)

Bye

Redsandro
9th January 2010, 13:47
Thanks. I'll look into it.

About AVStoDVD, on first run it cannot continue without MSCOMCTL.OCX so I had to download it. On second run it sais IsoBurn is unavailable so I cannot burn and it mentions Visual Basic controls are unavailable but after that the tool runs. For the first two errors, you might want to include those in the package to make it more neat.

Second, I cannot choose to use ffmpeg for mpeg creation so I cannot look for hints in the logs. I think you only use ffmpeg for the audio capabilities, no?

Midzuki
9th January 2010, 14:33
I use avs2yuv with x264 for my avc encodes, but I didn't know about mpeg2enc. Strangely I cannot find a lot about it. No wikipedia.

Most Wikipedia articles suck, man! :)

mpeg2enc is part of the well-(unknown) MJPEG TOOLS
(I have version 1.9.0, January of 2009) :

http://mjpeg.sourceforge.net/

&&

http://linux.die.net/man/1/mpeg2enc

Mpeg2enc souns interesting though.
http://www.transcoding.org/transcode?FFmpeg_Vs._Mpeg2enc
It annoys me in that article that TmpgEnc has the best quality because it's a commercial tool, and not command-line versatile at all. I used to use it at school.

That page says:
Last edited July 7, 2006

:devil: :D

HTH.

MrC
9th January 2010, 21:32
About AVStoDVD, on first run it cannot continue without MSCOMCTL.OCX so I had to download it. On second run it sais IsoBurn is unavailable so I cannot burn and it mentions Visual Basic controls are unavailable but after that the tool runs. For the first two errors, you might want to include those in the package to make it more neat.

C'mon my friend, you have downloaded the 'NoInstall' package. The ReadMe_NoInstall.txt states:

Software requirements:

- AviSynth 2.5.7 or higher installed
- Visual Basic 6.0 Runtime Library installed
- Visual Basic 6.0 ActiveX file "..\AVStoDVD\Lib\mscomctl.ocx" registered (regsvr32 [filename])
- DirectShow codecs/filters needed to play media files to convert (I suggest FFDShow http://sourceforge.net/projects/ffdshow-tryout/)
- ImgBurn 2.4.4.0 or higher installed (not mandatory, but required to build DVD ISO Images and to burn DVDs)

The 'Installer' package instead contains all the required sw.

Second, I cannot choose to use ffmpeg for mpeg creation so I cannot look for hints in the logs. I think you only use ffmpeg for the audio capabilities, no?

I use ffmpeg for audio conversion and to create bmp thumbnails for the DVD menu. In the latter case I always add ConverttoYV12() filter to avoid vertical flip issue.

;)

Bye

Redsandro
10th January 2010, 00:16
Whoops excuse my ignorance. I have a personal problem with installers and their overusage. I thought it would be the same with some extra shortcuts and registry values and restrictions. Nothing personal, just my view on installers. Ofcourse I should have read the readme, but I was only interested in the command line it used.

But you could have just said:
I always add ConverttoYV12() filter to avoid vertical flip issue.
Now we're back to the start 'cause I said in my first post, including typo:
If I ConvertToYV21() myself (..), ffmpeg stops after a second leaving an unusable output file.

So, we've established that it's indeed a 3 year old ffmpeg bug and everybody has been working around it for all that time.

Ergo conclusio: I need to look for the problems in my AVS files?
Here's one of my scripts:

vid = AVISource("P:\Boot.Lags.avi", audio=true)

# Audio from AVI
#aud = AVISource("", audio=true)
#AudioDub(vid, aud)
vid

#trim(0,1096)+y+trim(1156,0)

#Lanczos4Resize(720,576)
PointResize(720,576)

separatefields().selectevery(4,0,3).weave()

#ConvertToYV12(matrix="Rec709") # CRASH!

FlipVertical()

EnsureVBRMP3Sync()
Trim(0,0)
return last