video,ffmpeg,avisynth,virtualdub , Stacking 3 gmp4-files using Avisynth and VirtualDub, results in wrong colors and distorted files

Stacking 3 gmp4-files using Avisynth and VirtualDub, results in wrong colors and distorted files


Tag: video,ffmpeg,avisynth,virtualdub

I need to conduct the seemingly simple task of stacking 3 files next to each other. They are all the same: .avi Container, 320x240, 4:3, 25 fps, GeoVision Advanced MPEG-4 GEO codec. I installed the GeoVision codec ( - select "other utilities"), so my system (windows media player, media player classic) can play back the files. Also, I can open and work with them in Virtual Dub. I installed AviSynth and wrote the simple script for stacking them next to each other

h1 = AVISource("Event20150423075842001.avi")

h2 = AVISource("Event20150423075842002.avi")

h3 = AVISource("Event20150423075848003.avi")

StackHorizontal(h1, h2, h3)

now, when I save it as .avs and then open it using VirtualDub, I see three videos nicely put next to each other, but the colors are weird and parts of the video are upside down and everything is just ..wrong - see Screenshot First I thought it has something to do with avisynth taking the wrong codec, so i forced it on gmp4 (as you can also see in the screenshot), but the result is the same. I have now also Avisynth+ installed, as well as VirtualDubMod. When I open the .avs in VDMod, I get "couldn't locate decompressor for format YV24", but it still opens the video which looks a little better though (but when I make a direct stream copy and save it, then play it back in MPC it looks exactly the same as it looked on the first screenshot). So this error points me toward something related to the colorspace. Now my questions:

I also found this related thread: Editing/Decoding AVI files using system-installed proprietary codecs, but using avisynth and ffmpeg, I get similar results as with VirtualDub.

I can't use the solution of converting all my files first and then do the stacking in a second step - because the actual files I have to work with are about 180 videos, each like 8hours long and the time it would consume would stand in no relation to my possibilities..

I really have looked for solutions during the past week, and I think I'm close, but I sadly just don't know enough about programming to be able to solve it on my own.. so I also want to excuse for any apparent stupidities in my explanation ;) I'm very thankfull for any help

Have a good time everybody

EDIT: So I have some more Info, and an example file, which I can't link in this post -.- because I -again- have not enough reputation, very nice. I will try to comment and post the links :)

Here is what the info() command brought me: Colorspace: YV24, FieldBased (Separated) Video: NO, Parity: Bottom Field First, Video Pitch: 320 bytes, Audio: NO, CPU detected: x87 MMX ISSE SSE4.1 SSSE3


I was able to reproduce your problem. Apparently the AviSource chooses a wrong pixel format by default, it should be "RGB24" instead of "YV24".

To solve this you need to add the parameter pixel_type="RGB24" to every AviSource call, like this:

AVISource("Event20150423075842001.avi", pixel_type="RGB24")

Alternatively you can try to use DirectShowSource instead of AviSource, it worked properly for me right away.


Stacking 3 gmp4-files using Avisynth and VirtualDub, results in wrong colors and distorted files

I need to conduct the seemingly simple task of stacking 3 files next to each other. They are all the same: .avi Container, 320x240, 4:3, 25 fps, GeoVision Advanced MPEG-4 GEO codec. I installed the GeoVision codec ( - select "other utilities"), so my system (windows media player, media player...

How to add Title in video by ffmpeg on Node JS

I am working on a project where I have to add Title on a video by FFmpeg. I have already succeeded in adding a picture on a video. Can anybody help me to add Text(Title) on a video? Here is my code for adding Image, please suggest the required modification:...

FFmpeg: How to convert vertical video with black sides, to video 16:9, with blurred background sides

How to make this by using FFmpeg? Example without FFmpeg: Adobe After Effects Sony Vegas Pro...

Loading HTML Video With jQuery not working anymore

Here is the Development site: And I also posted a previous question here Loading HTML Video With jQuery and that was working for a few days then it just stopped working. I am using WordPress 4.2.2 so I know that I have to use "wp_localize_script" which I have done....

Is there a Byte Offset in FFmpeg for source Files?

I am working on an C++ Application (running on Ubuntu) that opens FFmpeg for video conversion and reads the output through popen(). This works fine but now i need FFmpeg to start reading the source File at a specific Byte Offset. Is there any way to archive this? I already...

Opening frame that is under the JavaFX program category

Most of program is using JFrames throughout the application for all the different windows that can appear. However, I have to play an instructional video for the user inside a JFrame. I couldn't find a way to do this, so I had to make a JavaFX program. Is there a...

How to play video in video view from url based on buffer %age in android?

I have a link of video from s3 server and i am playing this video on VideoView. Video is playing properly but the problem is that first it downloads the entire video then plays it. I want it play like buffer. I mean if 20 % video downloaded it should...

Playing a video in Google Cardboard

I am looking at playing a video in Google Cardboard. I have already created 2 cardboard views and am able to display 2 images in those views. But am not able to play a video in those views. Also, am not getting any exception. The cardboard sample here shows a...

Ignore HTML5 on mobile devices

Right now, I have a background video that I'd like to display only on devices larger than 768px (width). When you collapse the browser past 768px, the video disappears, and the poster.jpg for the video is displayed as the background instead. All is working well with simple CSS, but the...

Using libav-tools versus libav built from source - video quality much worse

We are trying to create a video from still images, running on Ubuntu 14.04. If we have installed libav-tools then the output video is much higher quality than if we have installed libav manually. Unfortunately, we need to run a solution where libav is built from source, so we want...

ffmpeg problems (mpeg1video -> ?)

I'm trying to convert various video files from .mpeg to .ogg theora videos. This command works fine when I test it in its own program, but fails to run properly inside the program it was intended for. I don't understand what's breaking here. Adding a -vcodec flag causes other errors....

Incompatible pixel format YUV420P with mjpeg

I am using ffmpeg to make a video from jpeg images using mjpeg codec. I use this command ffmpeg -i frame%d.jpg -c:v mjpeg -pix_fmt yuv420p -q:v 1 -y out.mp4 and I have this warning the yuvj420p was chosen instead. After reading about that pixel format, I found its deprecated to...

Attach data to simpleWebRTC room or video

I'm using simpleWebRTC for a multi-party video chat. Each user creates his own room. When a user subscribes to another (in order to see this person 0 and registers in the db). When a user chooses another - he gets this users username by XHR from the db. I tried...

What is the best practice add video background view?

I want to add background view with video (or gif) like in app "Uber" I'd like to use video background view for a long time in my app. And I want to know the answers to these questions: What of them will consume less battery energy Can I use it...

How to modify the content of WebRTC MediaStream video track?

I use WebRTC in a scenario in which the client video stream is recorded on a third-party server I would like to put some kind of watermark in the recorded video. Investigation brought me to this page and it seems that it is technically possible since it says...

Getting YUV from CMSampleBufferRef for video streaming

I am building an iOS video streaming chat application and the library I am working with requires that I send the video data passing it the YUV (or I guess YCbCr) data individually. I have the delegate set up, but I'm not sure how to extra the individual YUV elements...

How to render video in browser before uploading it using angularjs?

I want to render the video in the browser before its uploaded to server.I have done the code in angular js. here is my codes html(jade) input(type='file' ng-file-select="readURL(this)" accept='video/*') video(width='320', height='240', controls='') source(id ='blah' src='#', type='video/mp4') javascript: $scope.readURL = (input) -> console.log "inside" if input.files and input.files[0] console.log 'hello' reader...

html crop height video to height 100vh, video to fullscreen

I am struggling with a stupid little thing. Working on this site: (sorry for the slow server, school stuff you know) The video you'll see is on height vh100, witch is wat i want. When I have this video on the max height of your browser the width of...

Can I embed my Picasa video to play on my website?

Is it possible to embed my Picasa videos (not the whole album) on my website so it plays directly on the website without redirecting back to Picasa (kinda like youtube embedded videos)? I've seen this done on another website but can't seem to get mine to work. Picasa keeps giving...

Mp4 to HLS using ffmpeg

I'm trying to convert a local .mp4 video to HLS using ffmpeg in an iOS app. I have integrated the ffmpeg wrapper using pods and generated all the segmented .ts files and the m3u8 file, but some of the .ts file segments are not listed in the .m3u8 playlist file...

M3U8 playback issues with Vimeo and JW Player

M3U8 streams which previously played back without issues have started to fail with "Cannot load M3U8: cross domain access denied" errors. The video embed logic in our application hasn't changed, video playback worked without issues last week, this week it's failing. :/ Replacing the M3U8 URL in the embed with...

Verify youtube api v3 video exists JS

I used the v3 API to check if a youtube video exists, however, I am not able to fetch the return data. I assume I need the "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, to check it. But how to get this information using the following code? var data =...

Pipe ffmpeg output to named pipe

I'm trying to get ffmpegs output to a named pipe, where I could read from another shell. I do not need the video stream piped, just the informations below to get a state of the conversion process back. I am not able to achieve the piping behavior in any way,...

How to show image like video in facebook

I want to ask about how to show image like video in facebook Look if you post this link in facebook post area will show you video but no video in this link.

ffmpeg: wmv files generated on Mac can't be played in Windows

On Mac OS X 10.6.8, I converted a animated gif to a video file in wmv (a requested file format) by using ffmpeg -i File.gif -s 400x400 NewFile.wmv The video file played fine using VLC on Mac. The file can't be played on a Windows 7 machine using the Windows...

How can I use javascript to get the thumbnail of an html5 video?

I have found the JavaScript code to get the thumbnail of a video, given its URL. However, I've only found this for YouTube and Vimeo. Nobody seems to have listed an example of how to do it with video that is intended to be embedded with the html5 video tag....

Splitting up a variable in bash

I have a bunch of songs that I have downloaded that I am trying to convert to .mp3 and rename. After converting the .m4a file to mp3 with ffmpeg, they are all in the format of Artist Name - Song Name.mp3. I want to be able to separate the Song...

getting the current duration of recorded video using PBJVision

How can I get the length of the video session in seconds? I understand that I may have to do some sort of conversion of CMTime in didCaptureVideoSampleBuffer, but I can't seem to find the right property...

which is more performant,

I am developing a page with a full width / full height intro video (100vw / 100vh), looks "full screen" until you scroll down. Currently I am using HTML5 <video> to accomplish this, but I've noticed the page can get a little choppy, particularly while scrolling. The video is about...

Bootstrap modal and multiple vimeo videos

I have a page that has multiple videos embedded. Each link opens up the video in bootstraps modal. The problem I have is if I close the modal the video is still playing. I found a script that will force this to stop but then my next issue was the...

Why can't curl download the ffmpeg-2.7.tar.bz2?

I'm working on OS X Yosemite 10.10.2. I want to use curl command to download the ffmpeg-2.7.tar.bz2 as following: curl -O It can't work. However it works fine with other url. The message as following when add the --verbose option: $ curl --verbose -O * Hostname was NOT...

FFmpeg - Unrecognized option 'map [outv]'

I am merging some video files with FFmpeg and having an issue with my custom build. I'm using the following Java code for wrapping the ffmpeg command: List<String> cmds = new ArrayList<>(); cmds.add("ffmpeg"); cmds.add("-i"); cmds.add("input1.mp4"); ... cmds.add("-map [outv]"); cmds.add("-map [a]"); ... cmds.add("output.mp4"); ProcessBuilder pb = new ProcessBuilder(cmds);; Process process...

How to add video background over a section?

I'm trying to replace a header background image with a short video. I've searched a lot but couldn't find a proper solution to it. I could find this article but couldn't do much with it as I'm still a novice in web development. Can anyone please help me with the...

Batch ffmpeg and compress the files

I am doing a bunch of conversions with ffmpeg, where I need to watermark the content. I am using a batch file to run the ffmpeg application, but I want to automate all of this. for %%a in ("*.mp4*") do ffmpeg -i "%%a" -i logo.png -filter_complex overlay "newfiles\%%~na.mp4" pause Source...

How to play video backwards in WPF?

I want to smoothly play video in backwards direction in WPF. I am using MediaElement to play the video. I read this post which suggests changing MediaElement.Position periodically to mimic the rewinding behaviour. I tried following code for changing position of MediaElement.Position private void Button_Click(object sender, RoutedEventArgs e) { mePlayer.Pause();...

video to audio file convert & save through FFMPEG in node js

I am working on an FFMPEG on node js. I'd like to retrieve the audio track from a video file using node js. I would also like to save such file but I can't figure out how. I though this line of code would help me : ffmpeg('/path/to/file.avi').noVideo(); I have...

Understanding NASM Macro

I've come around this macro in a assembly source file and I just can't figure out how it's working. So first I come around this function (hevc_deblock.h): cglobal hevc_v_loop_filter_chroma_8, 3, 5, 7, pix, stride, tc, pix0, r3stride sub pixq, 2 lea r3strideq, [3*strideq] mov pix0q, pixq add pixq, r3strideq TRANSPOSE4x8B_LOAD...

How to read all video type in a video tag

I make a web interface for my server and I want to read all my video, but I have some problems: When I change the innerHTML (in javascript) of my video tag with a new source tag, it keep playing the previous video then I need to refresh the page...

make autoplay work on IPAD and IPHONE

I have fullscreen video background, here is my code: <div id="video-container"> <video id="video" autoplay loop> <source src="ocean.mp4" type="video/mp4"> <source src="ocean.ogv" type="video/ogg"> <source src="ocean.webm" type="video/webm"> </video> </div> how you see it has autoplay attrubute, but on IPAD, IPHONE,etc.. it doesn't work untill you click on play button, but when I add...

Infinite stream from a video file (in a loop)

Is there any way howto create an infinite h264 stream from a video file (eg. mp4, avi, ...). I'd like to use ffmpeg to transcode avi file to h264 but there's no loop option for output.

Creating a 25fps slow motion video from a 100fps GoPro .mp4 video with C++/OpenCV

I have a 100fps .mp4 GoPro video and I want to create from it a slow Motion one with 25fps. I'm trying since two days but to no avail. I could play the video, save a video from the GoPro's WiFi stream, but when I try to read the 100fps...

Can a text attribute be set on .mp4 files that could be used for version info?

I have a number of mp4 training videos that I use as help files with our software suite. I do not want to disrupt the naming convention of the video because that would change links all over the place, but would rather like to be able to tag the video...

Matlab - combine two videos into a single split-screen video

I have 2 videos I would like to play side by side in a split screen. They are same duration and dimensions. I found a code developed few years back to do the job. The problem is, it is full of errors maybe due to the fact I am using...

Why does video resolution change when streaming from Android via WebRTC

I'm trying to stream at 640x480 from Chrome on Android using WebRTC, and the video starts off at that, but then the resolution drops to 320x240. Here are the getUserMedia parameters that are sent: "getUserMedia": [ { "origin": "", "pid": 30062, "rid": 15, "video": "mandatory: {minWidth:640, maxWidth:640, minHeight:480, maxHeight:480}" }...

ffmpeg/batch file: input format stays in output file name

I created this batch file to put all aac files in one directory into an m4a container. The command works so far, but every new file generated has the format of the input file in the output files name. For example: test(.aac) is in an m4a container but is NAMED...