Command to convert folder(s) of .MTS to .mp4 for editing

For this command to run correctly every .MTS file that has been split in multiple .MTS files by the camera (for example where the recording size has exceeded 2.0GB and the camera has automatically split it into mulitple files) these files need to be concatenated back into a single file.

This can be done manually by:

cat secondFile >> firstFile
cat thirdFile >> firstFile

and so on..

If you want a GUI way of doing this you can use this nautilus script I edited from the one found here:

cfn=$1
shift;
for arg
do
cat “$arg” >> “$cfn”
mv “$arg” ~/.local/share/Trash/files/
done

Open your favourite text editor and copy and paste the above code in and save it in the following location

~/.gnome2/nautilus-scripts/Concatenate

You should now be able to right click several .MTS files and select Scripts > Concatenate. The machine will then concatenate the files and move the unessential  .MTS files to your Trash / Waste Basket. You’ll know the concatenation is complete when the last file in the series appears in your waste basket/disappears from it’s original folder.

Before transcoding the .MTS files we need to install some programs to help with the transcoding:

sudo apt-get install ubuntu-restricted-extras x264

With the concatenation complete (if necessary) and everything we need installed, you can now run the following command to transcode the .MTS files into .MP4 files that can be used and editied without sync issues on Ubuntu.

find /location/of/MTS/files -name “*.MTS” -type f -exec ffmpeg -i {} -vcodec libx264 -vpre hq -crf 19 -threads 0 -deinterlace -acodec copy {}.mp4 \;

How to find your mac address / How to get your mac address into a variable using a batch file or the command line in Windows XP

In a batch file :

for /f “tokens=3 delims=,” %%a in (‘”getmac /v /fo csv | findstr Local”‘) do set mac=%%a

Value of mac address is now accessible in %mac%

From the normal command line:

for /f “tokens=3 delims=,” %a in (‘”getmac /v /fo csv | findstr Local”‘) do set mac=%a

Value of mac address is now accessible in %mac%

Note the single ‘%’ when used from the command line instead of double ‘%’ when used in a batch file as above. the getmac utility ships with windows XP so the above script should be good to go. I’ve tried and can confirm this works on XP SP3.

The above scripts are modified from here.

How to convert .MTS files to .AVI in Ubuntu using ffmpeg

Just a quick post. If you want to bulk convert .MTS files (from JVC or Sony HD camcorders) then you can use the below script:

You’ll need csh and ffmpeg installed:

sudo apt-get install csh ffmpeg

Make a new file called convert (I use joe but you can use nano or whatever you prefer)

joe convert

Copy and paste the below:

#!/bin/csh
# For NTSC change -fps 50 tp -fps 60000/1001 below
foreach f ($*)
ffmpeg -i $f -threads 4 -deinterlace -f avi  -r 25 -vcodec libxvid -vtag XVID  -s 1920×1080  -aspect 16:9 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 128k -ac 2 -o ${f:r}.avi
end
Make the file executable:
chmod +x convert
Convert your .MTS files:
./convert *.MTS
Done!

Setting up Munin on Ubuntu 10.04

Server setup (as root):

apt-get install apache2 munin munin-node munin-plugins-extra munin-libvirt-plugins munin-java-plugins

a2dissite default

Edit munin apache config to enable stats to be veiwed from anywhere:

joe /etc/apache2/conf.d/munin

change Allow localhost 127.0.0.1/8 ::1 line to:

allow all

Restart apache2:

/etc/init.d/apache2 restart

Setup hosts we want to monitor in /etc/munin/munin.conf . For each host we need to add a section that’s similar to the following:

[hostname]

address ipaddress

use_node_name yes

Now on each server we defined in the last step (including the munin server itself) we need to ssh into them and setup munin  node:

apt-get install munin-node munin-plugins-extra munin-libvirt-plugins munin-java-plugins

Allow access from the munin server:

joe /etc/munin/munin-node.conf

Add:

allow ^192\.168\.0\.1$

where 192.168.0.1 is the ipaddress of your munin server.

Restart the munin node:

/etc/init.d/munin-node restart

Open up a web browser and navigate to:

addressOfMuninServer/munin

This should present you with a webpage with all your configured nodes. Click on them to get stats/charts about the nodes. NB Munin can take up to 5 minutes to collect stats so if you’ve got nothing coming up wait 5 minutes. If you’ve still got nothing then you’ve probably got a configuration problem.

The Munin install differs on 10.04 Lucid as the install configures it’s own virtual host, which in previous versions of Ubuntu it never use to. The virtual host the Munin install provides is only accessible to the localhost hence the need for the configuration change.

How to get EIT working with MythTV; MythTV Satalite EIT Woes

At work we’ve got a MythTV (mythbuntu) server with 2x DVB-S and 2x DVB-S2 cards.

For a while I struggled away at trying to get the tv grabber to collect tv lisitings but it required me to configure each channel individually, not a pain if it’s a one off but for some reason I found myself doing it more often than not!

So I decided, a switch to EIT listings would be a better bet.

I imported my channels.conf and scanned existing transports, excitedly I clicked on ‘Listings’ expecting to see a full data guide but all I was greeted with was “NO DATA” for every channel.

After a bit of googling I found a command that let me see what the EIT scanner was up to under the hood so I issued the following:

/etc/init.d/mythtv-backend stop

mythbackend -v siparser,eit,channel

This allowed me to see exactly what was happening under the hood. Alas it looked as if it was scanning for channels fine but there were no informative error messages. Back to google.

After reading some more I found out about this bug which meant when channels were imported via a channels.conf (not detected directly by mythtv) it would lose or not detect it’s network id.

So to see if I was being affected by this bug I opened up phpmyadmin and navigated to the mythconverg database and looked in the dvt_multiplex table. Sure enough under the networkid column all of the values were set to NULL.

So on to fixing it. I noted down the frequency and polarity from the dvt_multiplex table so I could access the values when the mythbackend was down. I opened up mythtv-setup and removed all the channels from the EIT source then under ‘Video Source’ scanned for new channels using a Full tunned scan, substituting in the values from the dvt_multiplex table. I waited for the scan to finish and when it had, I added the channels and ran mythfilldatabase for good luck.

After this I checked the dvt_multiplex table again and instead of a networkid of NULL there was a value of 2! Looking at the listings page confirmed that the EIT scanning was now working and this was also confirmed with the output of mythbackend -v siparser,eit,channel.

In hind sight a better way to have done this would have been to dump the SQL of the database, remove the channels in mythtv-setup, rescan using a full tuned scan using information from the dvt_multiplex table, add the channels, look at the dvt_multiplex table find the value of networkid copy it (I’m assuming it’s the same for all) reimport your database and change the value of networkid, in my case:

mysql > UPDATE set dvt_multiplex.networkid = ‘2’;

Doing it this way means you don’t have to setup your channels a second time, but if you’re well practised at it like me (with a little help from a few scripts ;o)) then it’s probably quicker to do it the first way.

As a side note I have Use DishNet’s long term EIT data set to ON, cross EIT data sources set to OFF and use Quick Tuning set to never. I have no idea if these options make a difference but some of the googling I have done infers that it might!

Anyway I hope this helps someone and saves them some time!

Network problems after a Ubuntu 10.04 Lucid Lynx install and what fixed them for me

After installing from a live CD where there was no problem with the network, I was supprised to boot a fresh install of Ubuntu 10.04 lucid lynx, with no network access. Fair enough, I thought probably just a one off, my PC. However after my work mate also had trouble with the network after a fresh install where the network was working on the live cd before hand I decided that something must be afoot.

Anyways this is how I fixed my network problem, hopefully it’ll help someone else!

  1. Edit /etc/network/interfaces and remove all traces of eth0 (remove both lines)
  2. My Network Manager had failed to start at all so to manage the network connections open up System > Preferences > Network Connections
  3. Add a new wired connection. I copied the mac address of my adapter in, although I’m not sure this actually matters. Click Apply and Save your new connection.
  4. Reboot

All being well you should have network-manager running, with a live network connection.

How to set the multiple Nvidia GPUs to auto fan in Ubuntu

Just a quick one. I’ve recently purchased an additional card to go in my Ubuntu machine, but my cards when set up in SLI were running very hot.

Using the information found here I was able to stick one GPU into auto fan mode, however the second GPU would stay at a fixed value and be overheating.

Looking at the man page for nvclock I found that you can use a command line switch to list and control individual  GPUs.

First install nvclock and nvclock-gtk

sudo apt-get install nvclock nvclock-gtk

Secondly open up nvclock-gtk

sudo nvclock_gtk

You may need to set a fan speed under ‘Hardware Monitor’ for each GPU, after you’ve done this use the following commands

nvclock -s

This command gives a list of all the (nvidia) GPUs connected to the system.

nvclock -c 1 -f -F auto

nvclock -c 2 -f -F auto

Repeat the above command for each GPU you want to be put in auto mode. You should now see in nvclock-gtk the fan speeds, under ‘Hardware Monitoring’ adjusting up and down, automatically on there own.

If you want this done automatically at login then you can add the commands (one at a time unfortunately, unless you make a script) to your sessions System > Preferences > Startup Application as shown here