4×18650

Cinelerra, x264, exiftool

Cinelerra-cv is a feature-rich tool to cut/process video. However, built-in h264 output doesn’t really work, so piping through x264 is next-best option to render result.

File/Render, first audio=mp3, then video=YUV4MPEG Stream.

Video configure/pipe: crf is quality (default 23). y4m contains fps rate/frame size.

# apt-get install x264
x264 --crf 25 --demuxer y4m --output % -

Muxing:

ffmpeg -i x.m2v -i x.mp3 -acodec copy -vcodec copy \
       -metadata title="My title" out.mp4

Copy exif data from original (needs exiftool 9.40+ to write MP4):

exiftool -tagsFromFile ~/d7k/DSC_3946.MOV -overwrite_original -m out.mp4

Tada!

$ file out.mp4
out.mp4: ISO Media, MPEG v4 system, version 1
$ exiftool out.mp4 |grep Origi
Date/Time Original              : 2013:12:20 21:16:14

 

MediaTomb UPnP Server

After being less than satisfied for MythTV’s performance serving random stuff on UPnP (DVR side is another story, it works), I figured to check out the alternatives (linux+ opensource+UPnP). I liked the idea of UPnP though. Unsurprisingly there are quite a few options, and as always, most of them are alpha/research projects/toys/proof of concepts/unfinished prototypes etc. After a quick googling I decided to go with MediaTomb.

UPnP PhotoFeatures (pros from my POV):

  • can serve audio/video/photos over UPnP (by DLNA)
  • shows media by date/type/directory
  • easy to use
  • web interface
  • transcoding!
  • file identification with file -i (magic)

Transcoding is an intresting feature. It allows feeding pretty much anything to TV that doesn’t accept much beyond avi/mpeg-ts containing mpeg2/h264 with some vtags (divx and avc1 seem to work), audio support being mp2/mp3/ac3.

UPnP videoSo suddenly my Panasonic G20 plasma can play h264 in Quicktime/MP4 container with minimal hassle. Container gets changed on the fly. Or avi with odd audio, just transcode it into mp2, or transcode video bitstream into mpeg2.

It turns out that the same old Eee 1000 with N270 atom cpu can transcode at least SD stuff into mpeg2/mp2 real time at 30 fps. Simple container change is of course pretty much zero operation.

Cons: transcoding works by mimetype. It means that media is essentially sorted by container, not codec. That may turn out to be problematic for transcoding. However, so far so good.

Some technicalities: on Ubuntu 12.04, MediaTomb can be installed with apt-get install mediatomb-daemon. It has a configuration file at /etc/mediatomb. Rest of the stuff is stored in a database, either SQLite or MySQL. Web interface is a nice way to add directories. Check out the address from the log, /var/log/mediatomb.

FFmpeg transcoding needs (in config.xml):

<transcoding enabled="yes">    

<mimetype-profile-mappings>      
    <transcode mimetype="video/x-flv" using="vlcmpeg"/>      
    <transcode mimetype="audio/x-flac" using="oggflac2raw"/>      
    <transcode mimetype="application/ogg" using="ffmpeg2"/>      
    <transcode mimetype="video/ogg" using="ffmpeg2"/>      
    <transcode mimetype="video/quicktime" using="ffmpeg"/>      
    <transcode mimetype="video/mp4" using="ffmpeg"/>      
    <transcode mimetype="video/x-msvideo" using="ffmpeg2"/>    
</mimetype-profile-mappings>    

<profiles>      
  <profile name="ffmpeg" enabled="yes" type="external">        
  <mimetype>video/mpeg</mimetype> <!-- result -->        
  <accept-url>no</accept-url>        
  <first-resource>yes</first-resource>        
  <hide-original-resource>yes</hide-original-resource>        
  <agent command="ffmpeg" arguments="-y -fflags +genpts -vcodec copy -vbsf h264_mp4toannexb -i %in -acodec mp2 -f mpegts %out"/>        
  <buffer size="1048576" chunk-size="131072" fill-size="262144"/>      
</profile>      
<profile name="ffmpeg2" enabled="yes" type="external">        
  <mimetype>video/mpeg</mimetype> <!-- result -->        
  <accept-url>no</accept-url>        
  <first-resource>yes</first-resource>        
  <hide-original-resource>yes</hide-original-resource>        
  <agent command="ffmpeg" arguments="-y -threads 2 -i %in -vcodec mpeg2video -qscale 3 -acodec mp2 -f mpegts %out"/>        
  <buffer size="1048576" chunk-size="131072" fill-size="262144"/>      
</profile>
...

There are two profiles, one for container change and another for actual transcoding. No magic needed, it just works. Or so. Figuring out those required options like -vbsf h264_mp4toannexb took some googling.

About magic, file doesn’t seem to understand MPEG-TS, so it’s a good idea to add

  <mappings>
      <extension-mimetype ignore-unknown="no">
        <map from="m2t" to="video/mpeg" />

Now, only if FFmpeg could transcode subtitles into DVB-format properly.. Maybe some day.  There’s some code, but it’s unfinished.

Kurko 2 Teräs

kurko2_20031002_Gubbe_kartta

Ihan ookoo, mutta ei sitten kuitenkaan. 12 rastiväli katastrofi, 9 minsaa kiertelyä. Muuten kyllä ookoo, paikotellen jopa ihan hyvää tekemistä. Kunto ei vaan riittänyt letkojen vauhtiin. Ensin tippui nelosvälillä letkasta, sitten jostain syystä letka otti 8 välillä taas takaa kiinni, mutta 10 mennessä taas selät katosivat pimeyteen. Sykkeet sen mukaiset. 12 välillä myös toinen akku hyytyi 33 min kohdalla, se lataaminenko?

Lopputulos vahvasti ynnä muissa.

Maasto yllättävänkin juostavaa. Rytöistä, kivistä, mutta jostain syystä suht vauhdikasta. Korkeuserot ja vauhti hyydytti. 40 km pelipaikalle, josta viimeiset 10 pientä uraa.

Kurko 1 Laajavuori

kurko2013_1_laajavuori

AM-kurko. 7 minsaa pummia pitkin rataa. Merkillisen haastavaa taas, kolmesti eksymistä mutta onneksi melko suoraan rastille kuitenkin jonkinmoisella tuurilla. Pahemminkin olisi voinut käydä. Onneksi kotiovelle olisi ollut lähimmältä rastilta vain reilut 600 metriä. Lystiä oli kaiken kaikkiaan. Ensi kerralla vielä tarkemmin hankalat kohdat.

1: 30s, lähtösuunta…
2: 30s
3 ok
4: 2 min hukassa sitten kuitenkin vaikka miten oli tarkoitus katsoa
5, 6, 7 ok
8: huono reitinvalinta 1 min, piti mennä polulle mutta peesi veti lähtösuunnan muualle..
10: ihme sekoilua 2 min
11 30s väärä polku

4,4 km, 55 min ja rapiat, yht ~7 min harhailua. +5°, pilvistä, pimeää

Pyöräilyviikon avajaiset 11.5.2013

Maantie 17.4.2013

Maantiekausi aukesi, hieno laji etenkin sateella! Siitäkin huolimatta hyvät fiilikset.

Keskustasta on monelta pyörätieltä jo sorat harjattu pois. Laukaan pyörätieltä kuitenkaan ei.

Kirvoja

Huhtikuun alku. Kirvat iskivät taimiin.

Touruvuori 22.1.2013