At the very beginning of your simulation you see a chaotic behavior. That is completely normal, in LBM the solution is achieved after several iterative time steps. There is nothing wrong in your code I guess.
For arbitrary boundary conditions I suggest you to take a look to my Master thesis available in the next link:
I do not see anything particularly suspicious in your videos. As Andreas wrote the initial steps of a LBM simulations are always chaotical and several times unphysical too. That is greatly due to the initialization of the distribution functions. I guess you gave all the f_i (x, 0) = f_i,eq. This is the most common choice, the simplest but not the most accurate.
I would suggest to initialize your domain not at rest, but with a velocity equal to the initial one (except inside the cylinder). This simple thing might help you.
Regarding the bcs, outflow means \mathbf{n} \cdot \mathbf{u} = 0. Assuming that the outflow section is located at x=nx-1, one can set \mathbf{u}(nx-1) = \mathbf{u}(nx-2) and then use the regularized technique to impose the bcs. You miss the density, that can be set equal to the initial value (in the limit of vanishing Mach, the density is constant).
Watch this video: https://www.youtube.com/watch?v=NNfRJZZjxjk