【问题标题】:Re-encode and stream UDP TV Channels重新编码和流式传输 UDP 电视频道
【发布时间】:2018-12-02 13:30:20
【问题描述】:

我长期使用 mumudvb 和一张 dvb-t pci 卡在我的网络上流式传输电视频道。这工作正常,但我最近添加了另一个不如其他播放器强大的播放器,所以我想重新编码视频流。

这是我的输入流视频:

Input #0, mpegts, from 'udp://@239.1.4.1:8200':
  Duration: N/A, start: 53843.533922, bitrate: N/A
  Program 1025 
    Metadata:
      service_name    : M6
      service_provider: Multi4
    Stream #0:0[0x78]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [   SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x82](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 192 kb/s
    Stream #0:2[0x83](qad): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 96 kb/s
    Stream #0:3[0x84](qaa): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:4[0x8c](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:5[0x8d](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
    Stream #0:6[0xaa]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:7[0xab]: Unknown: none ([11][0][0][0] / 0x000B)

ffmpeg 版本 3.0.1 在 Ubuntu 12.04.5 LTS 上运行

这是我运行 ffmpeg 的命令行:

ffmpeg -i udp://@239.1.4.1:8200 -qscale:v:0 7 -c:v:0 mpeg4 -b:v:0 4000k -minrate:v 0 -maxrate:v 4000k -bufsize:v 5000k -s hd720 -c:a copy -f mpegts udp://239.1.24.1:8200?pkt_size=1316

但是当我这样做时,我的 VLC 播放器上出现了这样的错误:

[00007f2ff3ad64c0] main audio output debug: inserting 35549 zeroes
[00007f2ff3ad64c0] main audio output warning: playback too early (-55552): down-sampling
[00007f2ff3adc4c0] xcb vout display debug: display is visible
[00007f2ff3ad64c0] main audio output debug: resampling stopped (drift: -13228 us)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 33 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 2 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 4 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 0 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 22 ms)
[00007f2ff3ad64c0] main audio output warning: playback too early (-40559): down-sampling
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 8 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 13 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 3 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 3 ms)
[00007f2ff3ad64c0] main audio output debug: resampling stopped (drift: 1666 us)
[00007f2ff3ad64c0] main audio output warning: playback way too early (-130510): playing silence
[00007f2ff3ad64c0] main audio output debug: inserting 6264 zeroes
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 13 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 15 ms)
[00007f2ff3ad64c0] main audio output warning: playback too early (-41304): down-sampling
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 10 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 54 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 15 ms)
[00007f2ff3ad64c0] main audio output warning: timing screwed (drift: -105734 us): stopping resampling
[00007f2ff3ad64c0] main audio output warning: playback too early (-105702): down-sampling
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 10 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 10 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 60 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 20 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 14 ms)
[00007f300dd870c0] main video output debug: picture might be displayed late (missing 13 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 61 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 25 ms)
[00007f2ff3ad64c0] main audio output debug: resampling stopped (drift: -40141 us)
[00007f2ff3ad64c0] main audio output warning: playback too early (-40140): down-sampling
[00007f2ff3ad64c0] main audio output warning: playback too late (91622): up-sampling
[00007f2ff3ad64c0] main audio output debug: resampling stopped (drift: 120767 us)
[00007f2ff3ad64c0] main audio output warning: playback too late (120781): up-sampling
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 64 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 25 ms)
[00007f300dd870c0] main video output warning: picture is too late to be displayed (missing 31 ms)

在网络插件 VLC 媒体播放器上 - 在 Ubuntu 16.04.3 LTS 上运行的 3.0.3 Vetinari

这导致 VLC 视频出现许多故障,并且在一段时间后音频和视频变得不同步。

由于某些原因,我无法更新 VLC / FFMPEG / Ubuntu

你能帮我解决这个问题吗?

提前感谢您的宝贵时间!

【问题讨论】:

标签: encoding ffmpeg udp streaming television


【解决方案1】:

你可以尝试不同的流媒体,一个好的流媒体,稳定的,UDP流媒体是https://github.com/Dash-Industry-Forum/dash-live-source-simulator。例如编辑这个变量:

DEFAULT_AVAILABILITY_STARTTIME_IN_S = time.time()
DEFAULT_AVAILABILITY_TIME_OFFSET_IN_S = 300
DEFAULT_TIMESHIFT_BUFFER_DEPTH_IN_SECS = 300
DEFAULT_SHORT_MINIMUM_UPDATE_PERIOD_IN_S = 10

通过调整这些变量,您可以确保音频/视频同步并且图片不会迟到。请注意,这需要一个 MPD 文件才能工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2020-07-12
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2022-12-16
    • 1970-01-01
    相关资源
    最近更新 更多