Transcoding H.264, please fix it
Posted: 23 Jul 2008 12:18
I'm running VLC 0.8.6i on a Linux server which is streaming video to other devices.
I used mkvinfo on the file:
Just to test whether or not VLC was able to transcode the file, I tried the following options:
With these options VLC stops after about 10-15 seconds, giving me a LOT of warnings, some of which I'll post here:
I have tried removing soverlay and --sub-track=0 options, which get rid of the subpicture heap errors, but still VLC stops and fails to transcode the file.
It is not only this MKV file I have issues with, there are several MKV files, all of them encoded with H.264, and none of them work.
There are also AVI files encoded with H.264, they do not work either.
I am able to transcode & stream these files with either ffmpeg or mencoder, but I want to use VLC since it has better subtitle features.
So, the files themselves are not corrupt or damaged, since they transcode/stream nicely with other software.
(They also play nicely when simply played with a VLC client, without transcoding/streaming).
There is one MKV file, with H.264 that works, which has this info:The relevant differences that I can think of, is the sampling rate of 44,1kHz instead of 48kHz all the other files have.
The AVI files I mentioned that do not work, also uses MPEG3 audio, but 48kHz sampling. From avinfo:
The MKV file with 44,1kHz is the only file with H.264 encoding, which works when transcoding with VLC.
Any thoughts?
I used mkvinfo on the file:
Code: Select all
Track type: video
Codec ID: V_MPEG4/ISO/AVC
Pixel width: 1280
Pixel height: 720
Interlaced: 0
Display width: 1280
Display height: 720
Track type: audio
Codec ID: A_VORBIS
Sampling frequency: 48000.000000
Channels: 2
Track type: subtitles
Codec ID: S_TEXT/A-SS
File name: Timeless.ttf
Mime type: application/x-truetype-font
File data, size: 61212
File UID: 2591820693
Code: Select all
vlc MyTestFile.mkv -vvv -I dummy --sout "#transcode{vcodec=mp2v,vb=4096,soverlay,acodec=mpga,ab=192,samplerate=48000,channels=2,audio-sync,fps=25}:standard{mux=ps,access=file,dst=TestOutput.mpeg}" --sub-track=0 vlc:quit
Code: Select all
[00000480] main stream output warning: trying to send non-dated packet to stream output!
[00000501] ffmpeg decoder warning: warning: first frame is no keyframe
(h264@0x82774d0)
[00000339] ffmpeg encoder warning: Set profile and level
(mpeg2video@0x819edc0)
[00000502] ffmpeg encoder error: cannot open encoder
[00000481] stream_out_transcode private error: cannot find encoder ((null))
[00000501] ffmpeg decoder debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) stopped
[00000505] main private error: subpicture heap is full
[00000503] subsdec decoder warning: can't get spu buffer
[00000505] main private error: subpicture heap is full
[00000503] subsdec decoder warning: can't get spu buffer
[00000505] main private error: subpicture heap is full
[00000503] subsdec decoder warning: can't get spu buffer
[00000505] main private error: subpicture heap is full
....
[00000489] mkv demuxer warning: find KaxCues FIXME
[00000489] mkv demuxer warning: cannot get block EOF?
[00000485] main private warning: no more input streams for this mux
It is not only this MKV file I have issues with, there are several MKV files, all of them encoded with H.264, and none of them work.
There are also AVI files encoded with H.264, they do not work either.
I am able to transcode & stream these files with either ffmpeg or mencoder, but I want to use VLC since it has better subtitle features.
So, the files themselves are not corrupt or damaged, since they transcode/stream nicely with other software.
(They also play nicely when simply played with a VLC client, without transcoding/streaming).
There is one MKV file, with H.264 that works, which has this info:
Code: Select all
Track type: video
Codec ID: V_MPEG4/ISO/AVC
Pixel width: 640
Pixel height: 480
Interlaced: 0
Display width: 640
Display height: 480
Track type: audio
Codec ID: A_MPEG/L3
Sampling frequency: 44100.000000
Channels: 2
The AVI files I mentioned that do not work, also uses MPEG3 audio, but 48kHz sampling. From avinfo:
Code: Select all
video: 856x480 00:24:04 23.97fps H264 5Kbps
audio: 48KHz 00:24:04 Stereo 344bps mp3
Any thoughts?