Usando o ffmpeg para converter fluxo com fluxo de áudio atrasado

0

Estou tentando usar o ffmpeg para converter este arquivo de fluxo TS para MP4. Observe como não há áudio até a marca de 10 segundos. Sempre que tento converter (ou copiar) esse arquivo TS, não recebo áudio. Eu suspeito que isso é porque o ffmpeg não pode encontrar um fluxo de áudio no início do arquivo, mas como faço para encontrar o áudio que começa mais tarde?

Por exemplo, esta é a saída quando eu executo esta linha ffmpeg -i beinold.ts -vf scale=1280:720 bein.mp4 . Eu adicionei a escala porque senão, o ffmpeg retornaria o MP4 inteiro como 270p, que é a resolução dos primeiros segundos. Observe a falta de erros. Mesmo rodando com -analyzeduration 15000000 não funciona.

ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[mpegts @ 0x7fe58e801200] PES packet size mismatch
    Last message repeated 1 times
[mpegts @ 0x7fe58e801200] Could not find codec parameters for stream 1 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x7fe58e801200] Could not find codec parameters for stream 2 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'beinold.ts':
  Duration: 00:00:50.05, start: 0.466722, bitrate: 3065 kb/s
  Program 1 
    Metadata:
      service_name    : 
      service_provider: 
    Stream #0:0[0x64]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p(progressive), 480x270 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
    Stream #0:1[0xc8](eng): Audio: aac ([15][0][0][0] / 0x000F), 0 channels
    Stream #0:2[0xc9](spa): Audio: aac ([15][0][0][0] / 0x000F), 0 channels
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fe58f000c00] using SAR=1/1
[libx264 @ 0x7fe58f000c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fe58f000c00] profile High, level 3.1
[libx264 @ 0x7fe58f000c00] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'bein.mp4':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[h264 @ 0x7fe58e07c600] Increasing reorder buffer to 107.87 bitrate=3195.9kbits/s speed=1.34x     
[h264 @ 0x7fe58f800000] Increasing reorder buffer to 2
frame= 1500 fps= 31 q=-1.0 Lsize=   25728kB time=00:00:49.94 bitrate=4219.6kbits/s dup=7 drop=0 speed=1.04x    
video:25708kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.078066%
[libx264 @ 0x7fe58f000c00] frame I:7     Avg QP:22.72  size: 96187
[libx264 @ 0x7fe58f000c00] frame P:398   Avg QP:25.43  size: 37357
[libx264 @ 0x7fe58f000c00] frame B:1095  Avg QP:29.51  size:  9848
[libx264 @ 0x7fe58f000c00] consecutive B-frames:  0.7%  4.3%  5.2% 89.9%
[libx264 @ 0x7fe58f000c00] mb I  I16..4:  8.9% 54.3% 36.8%
[libx264 @ 0x7fe58f000c00] mb P  I16..4:  3.1% 10.7%  4.1%  P16..4: 35.4% 23.6% 12.2%  0.0%  0.0%    skip:11.0%
[libx264 @ 0x7fe58f000c00] mb B  I16..4:  0.2%  0.5%  0.2%  B16..8: 39.2% 10.9%  2.9%  direct: 4.9%  skip:41.1%  L0:40.6% L1:49.6% BI: 9.8%
[libx264 @ 0x7fe58f000c00] 8x8 transform intra:58.3% inter:57.1%
[libx264 @ 0x7fe58f000c00] coded y,uvDC,uvAC intra: 71.3% 67.7% 37.4% inter: 21.0% 18.7% 1.9%
[libx264 @ 0x7fe58f000c00] i16 v,h,dc,p: 13% 51% 10% 26%
[libx264 @ 0x7fe58f000c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 28% 17%  5%  6%  6%  8%  6%  8%
[libx264 @ 0x7fe58f000c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 28% 17%  5%  7%  7%  7%  5%  6%
[libx264 @ 0x7fe58f000c00] i8c dc,h,v,p: 46% 27% 18%  9%
[libx264 @ 0x7fe58f000c00] Weighted P-Frames: Y:0.3% UV:0.3%
[libx264 @ 0x7fe58f000c00] ref P L0: 61.9% 14.4% 17.9%  5.8%  0.0%
[libx264 @ 0x7fe58f000c00] ref B L0: 93.8%  5.2%  1.0%
[libx264 @ 0x7fe58f000c00] ref B L1: 97.5%  2.5%
[libx264 @ 0x7fe58f000c00] kb/s:4207.72
    
por Ike348 30.01.2018 / 06:05

2 respostas

0

Isso funciona aqui:

ffmpeg -analyzeduration 15M -i beinold.ts -c copy bein.mp4

O áudio começa por volta dos 9s. A resolução é preservada, ou seja, se o player suportar a reinicialização do decodificador, você deverá ver a opção mudar na resolução quando isso acontecer no fluxo. VLC faz, assim como o Potplayer (Windows).

    
por 30.01.2018 / 07:20
0

Tente conversor de vídeo winff (utilitário gráfico) para facilitar esse processo. Ele funciona bem aí ..

    
por 30.01.2018 / 08:00