Using Avisynth and GraphEdit

A follow on to the V264 saga from Verint.

In the second post regarding the V264 Codec, I highlighted that it was a Directshow filter enabling the date and time overlay. I never received any reply from my email to Verint (surprise, surprise), and had archived all my test footage. This was until I received a call recently asking for further assistance with these pesky files.

I don’t usually post my ‘half’ successes, but I feel that with a bit of community help, a solution could be found here.

avi-vdub

When playing the exported .avi files in anything but WMP, the video plays without the date/time overlay. Even when using the Directshow input filter in Vdub, the text overlay still failed to show. I detailed in the previous post that the overlay was being provided by the LxTextOV filter. The strange thing is that when you run the filter graph in GraphEdit, the date and time display correctly.

Graph-avi

graphdisplay

Text overlay along bottom in GraphEdit display

So, the questions are:

  • Is it possible to process the files to hard encode the date and time?
  • Is it possible to extract the date and time information so a new, more flexible approach could be taken?

Hard encoding should be possible but the difficulty has been finding software that can deal with the text overlay filter. Premiere Pro would not even open the file and suggested that it was damaged.  It is possible that some editing or transcoding software will deal with the overlay – but its going to be  a case of trial and error to find it! (If you do know of one – please let me know and I will update the post).

In order to try and avoid all of this I decided to try Avisynth and GraphEdit inside my 32bit Virtual XP PC. It was in here that I installed the codec, safely protecting my main PC from any codec nastiness! My workflow would be to create graph, create avisynth file and then open avisyth file to play video AND overlay in software that I can then transcode.

To learn more on Avisynth, see this post

Aviynth has the ability to open, and frameserve a filtergraph. In order to create my graph ready for serving I need to have an open pin at the end.

Graph-grf

I then need to save this as a .grf file.

By creating the required .avs file we can pass this filter to any video application that supports avisynth, such as virtualdub or FFmpeg.

avisynth

The above text is written into notepad and saved as an .avs file. It basically says open the grf file in directshow, without the audio and force the output pixel type as RGB.

avs-vdub

When I now open this .avs file with Virtualdub, the date/time filter is visible!!!!!!

BUT…. it does not scrub or run through correctly. The video scrubs fine but the time stays static. Arghhhhh!

Also, when I did get the opportunity to try this in a 64bit Win7 PC – it failed to work at all!

What has all this highlighted? – The power and flexibility of Graphedit and Avisynth. By trialling different filters and graphs, its shown how handy these two applications are and how well they work together. OK, the overlay filter did not work correctly here, but the same method may work for another codec/format.

If you remember, I had two questions – hard encoding or date/time extraction to another format/subtitle. It looks like we are still in the hands of Verint here. Unless someone can pick up the pieces and get the overlay working!!

Finally, its worth remembering that the display aspect ratio, as set by the AVI container may not be the recorded raster size. FFprobe identified that my true dimensions were 704×288 and not 576 as displayed. Again the frame rate of a constant 6.25FPS seems a little specific. Its highly likely that this was originally variable and the footage has been standardised to fit the container restrictions. Just a few more points to be aware of!!

Until the next one….

06/12/14: Update – Solution using Graph Edit applications to transcode file – Click Here

Advertisements
By Spreadys Posted in EEPIP

7 comments on “Using Avisynth and GraphEdit

  1. Pingback: V264 Codec | Spreadys.com

  2. Probably not an issue… but FFDShow can sometimes cause conflicts/errors with overlays from Verint codecs.

    FFMpeg can use .avs files so this may be another option for handling the output.

    There are also a few different versions of Graphedit out there so could be worth trying a different build or slotting in different splitter/decompressor on the filtergraph.

    If none of that works you could always write a script to extract the subtitles to a .srt file, the main difficulty with this is testing that the timing doesn’t lose sync.

    • Some good points there – thanks for commenting! I originally was using FFdshow in my Win7 machine but changed the filter to use the generic video renderer. Still the same unfortunately.
      The subtitle method, to be honest, is my preferred option but identifying the date/time information and scripting all that out is way off my timescale!!

      Tried FFmpeg (one of my first things!), but this produced the same result as Virtualdub. Even tried running it through at original frame rate and then creating an index prior to the input file.

  3. A colleague from the US has identified that Video Pro from Signalscape can deal with the Text Overlay filter and will then allow output via transcoding with the Date/Time hard encoded.

    If anyone has identified other solutions, please let me know so I can update the post

  4. Pingback: Transcoding with GraphStudioNext | Spreadys.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s