I've been trying to use VLC to convert an MPEG-TS file into an MP4 file, without re-encoding the content. The content of the MPEG-TS file is H.264 for the video and AAC for the audio track; such a file can be obtained by recording a low bitrate ("bas debit") channel on a Freebox from free.fr.
I'm changing the encapsulation either using the GUI (streaming/exporting wizard, no re-encoding and MP4 container) or using this command:
Code: Select all
vlc -I dummy test.ts ":sout=#std{mux=mp4,access=file,dst=vlc-output.mp4}" vlc://quit
I've tried to force the width and height parameters in ":sout=#std{mux=mp4,width=480,height=576,access=file,dst=vlc-output.mp4}", but it didn't change anything.
Is this a known issue? Is there a way to fix this? I presume this is a matter of headers somewhere in the files, since the actual streams are actually present.
The workaround I've found relies on mp4creator and MP4Box:
Code: Select all
mp4creator --extract=1 vlc-output.mp4
mp4creator --extract=2 vlc-output.mp4
mv vlc-output.mp4.t1 vlc-output.aac
mv vlc-output.mp4.t2 vlc-output.h264
MP4Box -mpeg4 -add vlc-output.h264 -add vlc-output.aac output.mp4
Bruno.