[FFmpeg-devel] ffmpeg MPEG TS stream transcoding failed

jianwen chen jianwen.chen.video
Thu Jul 29 20:35:59 CEST 2010


Dears,

I have a problem for ffmpeg TS stream transcoding.

1. transcoding to TS, it works, but the video can not be detected.

ffmpeg -i xxx.avi  -vcodec libxavs -acodec copy test.ts
The transcoding seems OK,  the log information is as follows,
If we use Ctrl + C to terminate the trancoding,

Input #0, matroska, from 'xxx.avi':
  Duration: 03:28:39.29, start: 0.000000, bitrate: 384 kb/s
    Stream #0.0: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.1(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9,
29.97 fps, 29.92 tbr, 1k tbn, 59.94 tbc
File 'test.ts' already exists. Overwrite ? [y/N] y
[buffer @ 0x9ebb4b0] w:1280 h:720 pixfmt:yuv420p
[libxavs @ 0x9ea8540] no need for a SAR
[libxavs @ 0x9ea8540] using cpu capabilities
[libxavs @ 0x9ea8540] profile JiZhun, level 6.4
[mpegts @ 0x9ea7590] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt
every 40 pkts
Output #0, mpegts, to 'test.ts':
  Metadata:
    encoder         : Lavf52.77.0
    Stream #0.0(eng): Video: libxavs, yuv420p, 1280x720 [PAR 1:1 DAR 16:9],
q=2-31, 200 kb/s, 90k tbn, 29.92 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 384 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
[mpegts @ 0x9ea7590] st:0 error, non monotone timestamps 186518 >= 186518s
av_interleaved_write_frame(): Operation not permitted  (why? I see the same
error when I transcoding to .avi file)
Received signal 2: terminating.

However, when we check the TS out file, the TS can be played with audio.
 And the video format can not be detected.
I want to know the reason about this. And
./ffmpeg -i test.ts
Program 1 Service01
    Metadata:
      name            : Service01
      provider_name   : FFmpeg
    Stream #0.0[0x100]: Data: [6][0][0][0] / 0x0006
    Stream #0.1[0x101]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s

2. video only  transcoding is OK

But if we just libxavs just for video encoding, everything is OK. The cavs
file can be well detected and played.
ffmpeg -i xxx.avi  -vcodec libxavs -acodec copy test.cavs

./ffmpeg -i test.cavs
Input #0, cavsvideo, from 'test.cavs':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: cavs, yuv420p, 1280x720, 29.97 fps, 29.97 tbr, 1200k
tbn, 29.97 tbc

3.  Questions
So if I want support cavs TS transcoding, I mean in the TS file, the video
is cavs and the audio can be any other formats.
What should I do? We need a patch to do that?




Regards,
Jianwen



More information about the ffmpeg-devel mailing list