====== Video Editing ====== First you should install some video related packages: apt-get install libav-tools vlc optional: apt-get install mediainfo ===== Convert ===== Some Cameras divide the recording in several pieces. Then you first should concatenate with ''cat FILE1.MTS FILE2.MTS FILEx.MTS > OUTPUT.MTS'' Convert MTS files with AVCHD video format and ac3 sound format to MP4 and aac format. #!/bin/bash # put here original size of movie: SIZE=1920x1080 avconv-copy() { avconv -i ${1}.MTS -c:a copy -c:v copy ${1}.mp4 } case "$1" in (avconv) avconv-copy $2 ;; (avconv-resize) avconv -i ${2}.mp4 -s $SIZE -strict experimental ${2}_$SIZE.mp4 ;; (avconv-full) avconv-copy $2 avconv -i ${2}.mp4 -s $SIZE -strict experimental ${2}_$SIZE.mp4 ;; (*) echo "Usage: $0 avconv|avconv-resize|avconv-full # ohne Endung .MTS angeben " ;; esac ====== Handbrake ====== Tool in ubuntu packages from [[https://handbrake.fr/]] Intermediate format on Linux is MKV because this is the most free video package ====== xmodulo ====== .... ====== CLI Tools: avconv, mp4box, ffmpeg ====== ===== avconv ===== avconv -i C00006.MTS -c:a copy -c:v copy -y Canon-00006.MTS.mp4 ffprobe C00006.MTS.mp4 or avconv -i ${1}.MTS -c:a copy -c:v copy ${1}.mp4 Tools seen with "dpkg -l" libav-tools - Multimedia player, server, encoder and transcoder winff - graphical video and audio batch converter using ffmpeg or avconv ===== mp4box ===== apt-get install gpac [[http://gpac.wp.mines-telecom.fr/mp4box/]] MP4Box -add input.h264:fps=29.97 -new output.mp4 /Applications/Free AVCHD to Mov.app/Contents/Resources/bin/com.geranium-soft.convert \ -i /path/to/C00003.MTS \ -map 0:0 -map 0:1 -c:a libfaac -vol 256 -b:a 128k -c:v copy \ -sn -movflags faststart -threads 0 -pix_fmt yuv420p -y \ /path/to/140710_C00003.mov ===== ffmpeg ===== //obsolete// use avconv instead This package is very common but discontinued. ffmpeg -i 140612_Canon-00000.MTS -t 60 -y \ -vcodec copy -an 140612_Canon-00000.MTS.h264 ffmpeg -i 140612_Canon-00000.MTS -t 60 -y \ -vn -acodec libfaac -ab 128k 140612_Canon-00000.MTS.aac mp4box -add 140612_C00000.MTS.h264:fps=29.97 \ -add 140612_C00000.MTS.aac \ -new 140612_C00000.MTS.mp4 Adding: ''-r 29.97 option'' Professor Sparkles gave me an advice to add "-r 29.97". I tried that: ffmpeg -i 140612_Canon-00001.MTS -t 60 -r 29.97 -y -vcodec copy -acodec libfaac -ab 128k # see: http://video.stackexchange.com/questions/12156/how-can-i-convert-mts-file-avchd-to-mp4-by-ffmpeg-without-re-encoding-h264-v http://stackoverflow.com/questions/24720063/how-can-i-convert-mts-file-avchd-to-mp4-by-ffmpeg-without-re-encoding-h264-v ===== mencoder ===== Question: How to convert AVCHD (MTS/M2TS) to MP4 __losslessly__. I'll start with the end: mencoder infile.mts -demuxer lavf -oac copy -ovc copy -of lavf=mp4 -o outfile.mp4 and now to explain myself: AVCHD (MTS) is basically a container format for MPEG4-AVC video and AC-3 Audio. It's commonly found on modern camcorders. I have pulled files off a Sony Camcorder, which records in 1080i@50Hz. It seems there are timestamp problems, and both the even and odd fields are stamped with the same time, and not 1/50th of a second apart as you'd expect. This currently breaks ffmpeg (0.6~svn20100711), and the mencoder (SVN-r31722) internal demuxer doesn't like it either. The libavformat (lavf 0.6~svn20100711) demuxer/muxer seems to handle it, so that's what we'll use. If you run 'mediainfo' over an MTS file, you'll see something like this: General ID : 0 Complete name : infile.mts Format : BDAV Format/Info : Blu-ray Video File size : 62.6 MiB Duration : 56s 72ms Overall bit rate : 9 364 Kbps Maximum Overall bit rate : 18.0 Mbps Video ID : 4113 (0x1011) Menu ID : 1 (0x1) Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Duration : 56s 0ms Bit rate : 8 726 Kbps Width : 1 440 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate : 25.000 fps Resolution : 8 bits Colorimetry : 4:2:0 Scan type : Interlaced Scan order : Top Field First Bits/(Pixel*Frame) : 0.224 Stream size : 58.3 MiB (93%) Audio ID : 4352 (0x1100) Menu ID : 1 (0x1) Format : AC-3 Format/Info : Audio Coding 3 Duration : 56s 128ms Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Video delay : -80ms Stream size : 1.71 MiB (3%) Text ID : 4608 (0x1200) Menu ID : 1 (0x1) Format : PGS Duration : 55s 575ms Video delay : -80ms Once you run it through the above command, the resultant container will look like this. The audio/video codec details will be the same because it's a straight (lossless) copy. Also note that the headers have been corrected from 25i to 50i. General Complete name : outfile.mp4 Format : MPEG-4 Format profile : Base Media Codec ID : isom File size : 58.7 MiB Duration : 56s 160ms Overall bit rate : 8 761 Kbps Writing application : Lavf52.73.0 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Format_Settings_FrameMode : Frame tripling Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 56s 140ms Bit rate mode : Variable Bit rate : 8 504 Kbps Width : 1 440 pixels Height : 1 080 pixels Display aspect ratio : 4:3 Original display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 50.000 fps Original frame rate : 8.333 fps Resolution : 8 bits Colorimetry : 4:2:0 Scan type : Interlaced Scan order : Top Field First Bits/(Pixel*Frame) : 0.109 Stream size : 56.9 MiB (97%) Audio ID : 2 Format : AC-3 Format/Info : Audio Coding 3 Codec ID : ac-3 Duration : 56s 160ms Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Resolution : 16 bits Stream size : 1.71 MiB (3%) Note that the final video will still be interlaced. __Removing the interlacing requires re-encoding.__ (This was tested on 10.04 with the VDPAU team's cutting-edge-multimedia PPA installed.) by pHr34kY; September 11th, 2010 at 11:55 AM. Advanced reply September 14th, 2010 #2 I want to do this on files from a canon hg-21. Here is my output from mediainfo: General ID : 0 Complete name : 00069.MTS Format : BDAV Format/Info : BluRay Video File size : 272 MiB Duration : 1mn 36s Overall bit rate : 23.8 Mbps Maximum Overall bit rate : 24.0 Mbps Video ID : 4113 (0x1011) Menu ID : 1 (0x1) Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Duration : 1mn 35s Bit rate : 22.6 Mbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16/9 Frame rate : 29.970 fps Resolution : 24 bits Colorimetry : 4:2:0 Scan type : Interlaced Scan order : Top Field First Bits/(Pixel*Frame) : 0.363 Audio ID : 4352 (0x1100) Menu ID : 1 (0x1) Format : AC-3 Format/Info : Audio Coding 3 Duration : 1mn 36s Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : L R Sampling rate : 48.0 KHz Video delay : -66ms This is after conversion: General Complete name : RyanFreakout.mp4 Format : MPEG-4 Format profile : Base Media Codec ID : isom File size : 260 MiB Duration : 1mn 36s Overall bit rate : 22.7 Mbps Encoded date : UTC 1970-01-01 00:00:00 Tagged date : UTC 1970-01-01 00:00:00 Writing application : Lavf52.31.0 Video Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 1mn 36s Bit rate mode : Variable Bit rate : 22.4 Mbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16/9 Frame rate mode : Constant Frame rate : 59.940 fps Original frame rate : 29.970 fps Resolution : 24 bits Colorimetry : 4:2:0 Scan type : Progressive Bits/(Pixel*Frame) : 0.181 Stream size : 257 MiB (99%) Encoded date : UTC 1970-01-01 00:00:00 Tagged date : UTC 1970-01-01 00:00:00 Audio Format : AC-3 Format/Info : Audio Coding 3 Codec ID : ac-3 Duration : 1mn 36s Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : L R Sampling rate : 48.0 KHz Resolution : 16 bits Stream size : 2.93 MiB (1%) Encoded date : UTC 1970-01-01 00:00:00 Tagged date : UTC 1970-01-01 00:00:00 Does everything look right? The playback on .mp4 is still obviously interlaced but it seems to be worse than before. When usually I get better playback. Previously, I had always used Adobe Media Encoder on Windows (deinterlaces the file). Can I deinterlace this file (reencode with ''mencoder'')? Are my settings right for converting this like yours? >Advanced reply >September 17th, 2010 #3 >Looking to convert MTS into a usable format too ... > >**WinFF** gives this error when trying to convert MTS files: > > Input #0, mpegts, from '/home/admin1/Pictures/AVCHD/BDMV/STREAM/00000.MTS': > Duration: 00:04:56.32, start: 1.000067, bitrate: 17173 kb/s > Program 1 > Stream #0.0[0x1011]: Video: h264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 59.94 tbr, 90k tbn, 59.94 tbc > Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s > Unknown encoder 'libmp3lame' > Press Enter to Continue ... > >Advanced reply >September 17th, 2010 #4 >> Re: How to convert AVCHD (MTS/M2TS) to MP4 losslessly.>Y >> Unknown encoder 'libmp3lame' >> Looks like your copy of FFmpeg has not been compiled for mp3 encoding, >> have a look here for the fix: >> HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoders in FFmpeg >> http://ubuntuforums.org/showthread.php?t=1117283