Opened 5 years ago

Last modified 5 years ago

#2416 new defect

ffprobe wrongly reports "Operation not permitted"

Reported by: gillux Owned by:
Priority: minor Component: undetermined
Version: git-master Keywords: mpegts
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I'm trying to inspect the contents of a (presumably corrupted) TS file I found on the internet using ffprobe. Ffprobe quits with a wrong error message: Operation not permitted.

$ ./ffmpeg/ffprobe JCSAT\ 4A\ 12493\ H\ SI-Dump\ 09-15\ 08-26-46.ts 
ffprobe version N-51283-g4f112a8 Copyright (c) 2007-2013 the FFmpeg developers
  built on Mar 29 2013 09:25:03 with gcc 4.6.3 (GCC)
  configuration: --enable-debug=3 --extra-cflags='-O0 -DDEBUG=1' --prefix='~/jcc/install'
  libavutil      52. 22.101 / 52. 22.101
  libavcodec     55.  2.100 / 55.  2.100
  libavformat    55.  0.100 / 55.  0.100
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 48.102 /  3. 48.102
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
JCSAT 4A 12493 H SI-Dump 09-15 08-26-46.ts: Operation not permitted

There is nothing wrong with the permissions. As -v debug suggests, the file is opened and even detected as mpegts. As I compiled ffmpeg with DEBUG defined, the console output with -v debug is really long so I attached it. I also put the TS file on the FTP under the name operation_not_permitted.ts.

Attachments (2)

log (1.7 MB) - added by gillux 5 years ago.
ffprobe with -v debug
operation_not_permitted_cut.ts (2.4 MB) - added by cehoyos 5 years ago.

Change History (4)

Changed 5 years ago by gillux

ffprobe with -v debug

Changed 5 years ago by cehoyos

comment:1 Changed 5 years ago by cehoyos

  • Keywords mpegts added

I wonder what ffmpeg / ffprobe should output for a transport streams that contains no useful streams...
Or do I miss something and there is software that does something useful with the stream / is there anything inside the stream?

comment:2 Changed 5 years ago by gillux

The TS file indeed appears to be detected as having no stream. gdb told me that avformat_find_stream_info() returns -1 and skips most of its code since ic->nb_streams == 0. This -1 is then interpreted as a the POSIX errno EPERM, thus the "Operation no permitted" error. If I make avformat_find_stream_info() not to return -1, ffprobe seems to work well and gives the following output:

Input #0, mpegts, from '../JCSAT 4A 12493 H SI-Dump 09-15 08-26-46.ts':
  Duration: N/A, bitrate: N/A
  Program 33410 
    Metadata:
      service_name    : ?|��������?HD
      service_provider: 
  Program 33423 
    Metadata:
      service_name    : ?|������?HD
      service_provider: 
  Program 33424 
    Metadata:
      service_name    : ?KBS?|����HD
      service_provider: 
  Program 33714 
    Metadata:
      service_name    : ?|��������?HD
      service_provider: 
Note: See TracTickets for help on using tickets.