ffmpeg UDP流错误(字幕)

时间:2017-02-18 05:35:01

标签: ffmpeg stream udp subtitle

我有HTTP流,我想转换为UDP:

http://192.168.1.44:8001/1:0:1:1F8:1B:2C0:E080000:0:0:0:

视频,音频和字幕工作完美如果我尝试在 VLC n Ubuntu 中打开此流。 到目前为止,这么好。

这是FFPROBE

的输出
    ffprobe -i http://192.168.1.44:8001/1:0:1:1F8:1B:2C0:E080000:0:0:0:
ffprobe version git-2017-01-22-f1214ad Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc
  libavutil      55. 44.100 / 55. 44.100
  libavcodec     57. 75.100 / 57. 75.100
  libavformat    57. 63.100 / 57. 63.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[mpeg2video @ 0xa56fde0] Invalid frame dimensions 0x0.
    Last message repeated 2 times
Input #0, mpegts, from 'ht tp://192.168.1.44:8001/1:0:1:1F8:1B:2C0:E080000:0:0:0:':                                                                                                         
  Duration: N/A, start: 35782.514200, bitrate: N/A                                                                                                                                         
  Program 501                                                                                                                                                                             
  Program 502                                                                                                                                                                             
  Program 503                                                                                                                                                                             
  Program 504                                                                                                                                                                             
    Stream #0:0[0x13b1]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc                           
    Stream #0:1[0x13b2]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s                                                                                             
    Stream #0:2[0x1541](srp): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:3[0x1542](slv): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:4[0x1543](hrv): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:5[0x1544](cze): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:6[0x1545](hun): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:7[0x1546](ron): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:8[0x1547](alb): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:9[0x1548](bul): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)                                                                                                               
    Stream #0:10[0x13b9](eng): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)                                                                                                             
  Program 505                                                                                                                                                                             
  Program 506
  Program 507
  Program 508
  Program 509
  Program 510
  Program 511
  Program 515
  Program 516
  Program 517
  Program 518
  Program 519
  Program 520
  Program 521
Unsupported codec with id 94215 for input stream 10

所以我决定使用 FFMPEG 来流式传输到UDP,并过滤掉不需要的SUB

这是FFMPEG cmd

ffmpeg -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2048 \
    -i "http://192.168.1.44:8001/1:0:1:1F8:1B:2C0:E080000:0:0:0:" \
    -map 0:0 -vcodec copy \
    -map 0:1 -acodec copy \
    -map 0:2 -map 0:6 -scodec copy \
    -f mpegts udp://239.0.10.3:40000?pkt_size=1316

输出是:

    Output #0, mpegts, to 'udp://239.0.10.3:40000?pkt_size=1316':
  Metadata:
    encoder         : Lavf57.63.100
    Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
    Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
    Stream #0:2(srp): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:3(hun): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
  Stream #0:6 -> #0:3 (copy)

结果流是DISASTER ......音频不稳定,视频分崩离析等等

如果我在没有sub(地图2和6)的情况下尝试同样的事情,那么视频和音频都非常清晰,并且流畅的工作

但我需要这两个子。

要缩小问题范围,如果我尝试将传入的流捕获到文件中:

ffmpeg -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2048 \
-i "http://192.168.1.44:8001/1:0:1:1F8:1B:2C0:E080000:0:0:0:" \
-map 0:0 -map 0:1 -map 0:2 -map 0:6 \
-codec copy \
-y -f mpegts /tmp/tst.ts

生成的文件可播放,声音正常,视频正常,字幕正常。

看起来问题是OUTPUT到UDP ???

对此有何解决方案?

0 个答案:

没有答案