我希望能够流式传输直播电视,但也包括隐藏式字幕。我的工作流程是使用 Blackmagic Designs Decklink 卡(视频源为 SDI)并使用 VLC 捕获和转码视频,然后将其发送到 Wowza 服务器以进行打包以进行 HTTP 流式传输。我有这个为视频工作,但我不知道如何让隐藏式字幕出现在我的播放器中。我在网页、iPad 和 iPhone 上使用 VLC 播放器、Quicktime、Flowplayer 来查看流,它们都没有在源视频中显示隐藏式字幕。隐藏式字幕都是 608 和 708。在过去的 3 天里,我一直在阅读关于 vlc 和隐藏式字幕、wowza 和隐藏式字幕、x264 和隐藏式字幕、vbi、teltext 甚至字幕的所有内容,但我不知道在哪里比我开始时更近。
我正在使用具有 4GB ram 的 core i7,runign ubuntu 10.04 64bit。我用以下内容编译了vlc:
./configure '--enable-xvideo' '--enable-sdl' '--enable-avcodec' '--enable-avformat' '--enable-swscale' '--enable-mad' '--enable-a52' '--enable-libmpeg2' '--enable-dvdnav' '--enable-faad' '--enable-vorbis' '--enable-ogg' '--enable-theora' '--enable-mkv' '--enable-flac' '--enable-caca' '--enable-alsa' '--enable-qt4' '--enable-ncurses' '--enable-realrtsp' '--enable-twolame' '--enable-real' '--enable-x264' '--with-decklink-sdk=/home/bimls/bmd/Blackmagic_Decklink_SDK_9.6.4/Linux' '--enable-zvbi'
我使用以下内容来捕获和流式传输实时视频:
cvlc decklink:// --decklink-card-index="0" --decklink-mode="ntsc" --rtsp-timeout 0 --sout='#transcode{venc=x264{subme=1, ref=1, bframes=16, b-adapt=1, bpyramid=none, weightp=0 }, vcodec=h264, vb=1300, acodec=mp4a, ab=96, threads=4}:rtp{dst=127.0.0.1:8888,mux=ts}'' --vbi-page=100 --no-vbi-opaque --vbi-position=0
我的一些问题是:
- 这是让隐藏式字幕出现的正确方法吗?如果不是,请问我做错了什么?
- 怎么知道要查找什么 vbi-page,因为范围似乎是“--vbi-page integer [-2147483648 .. 2147483647]>”
- 转码会破坏隐藏式字幕数据吗?
所以,请任何帮助将不胜感激!谢谢!