[mythtvnz] Cutting H.264 DVB-T files with ffmpeg without transcoding

Craig Blaikie craig at gregor.co.nz
Sun Jul 18 13:17:49 BST 2010


Jonathan Hoskin wrote:
>     Anybody worked out a reliable way to cut recordings from Freeview
>     terrestrial using ffmpeg?
> 
>  
> Nope. I wonder if the developers have properly addressed it / been made 
> aware of it.
> 
> 
>
>I've seen a lot of posts from (I think) ffmpeg devs on various lists 
>which seem to say "too bad, it's the recording that's bad, not a bug in 
>ffmpeg".
>
>     ffmpeg -async 1 -ss [start time] -t [duration] -i recording.mpg
-vcodec
> 
>     copy -acodec ac3 -ab 384k -f dvd cut_recording.mpg
> 
>     The "-async 1" seems to be needed to keep audio in sync with video.
The
>     "-f dvd" might (not sure yet) be a fix for av mux errors. Audio is
>     transcoded to AC3 since most channels only have LATM AAC audio.
> 
> 
> "-f dvd" uses a MPEG2-PS container - H.264 isn't supported in the 
> MPEG-PS file format:
> http://www.gossamer-threads.com/lists/mythtv/mythtvnz/417130#417130


David Moore wrote 
>Thanks for that. I have tried MPEG-TS format as well but also with no 
>joy. Latest semi-successful attempts have involved extracting the video 
>to raw H264 format and transcoding the audio to raw AC3 then remuxing to 
>mpg (without the -f dvd option). Unfortunately I get audio/video sync 
>problems now. I don't see how I can easily resolve this because (I 
>assume) the raw formats have no timestamps or have timestamps which are 
>slightly out of sync.
>
>Seems that timestamps may be the root of the problem because I was 
>previously getting the ffmpeg "non-monotone timestamp" error and weird 
>start times reported by ffmpeg. I have no idea how to fix this without a 
>lot of manual audio/video syncing. I wonder how myth copes with the same 
>recordings when ffmpeg has problems? Might have to dig into the myth and 
>ffmpeg source code to try and find the differences.

You could try using vlc, as I found it was able to play the recorded video
files with sound, use it to convert the audio to mp4a and then use ffmpeg to
do the cutting or compression, I know it's an extra step, and you end
needing free space to have an almost identical copy of the file there, but
it seems to work, and the audio appears to stay in sync. I couldn't get VLC
to cut and convert the video without totally messing it up, hence the extra
ffmpeg step.

Use command line version of VLC to copy video and transcode audio.

nice -n 15 cvlc input_filename.mpg --sout="#transcode{acodec=mp4a, ab=192,
channels=2, samplerate=48000}:standard{mux=ts, dst=temp_filename.mp4,
access=file}:sout-transcode-soverlay=0" vlc://quit

then use ffmpeg to cut, or in this example, convert to iPod.

nice -n 15 ffmpeg -i temp_filename.mp4 -vcodec libxvid -b 512kb -qmin 3
-qmax 5 -bufsize 4096 -g 300 -acodec libfaac -ab 192kb -s 736x416 -aspect
16:9 output_filename.mp4

Cheers,
  Craig





More information about the mythtvnz mailing list