我正在编写一个视频应用程序,该应用程序可以播放来自网络的流式视频,并且正在使用AV播放器来播放。我的问题是我如何找出预先缓冲了多少视频内容,在MPMoviePlayerController中可以看到UISlider上缓冲的内容量。我想使用AV Player演示相同的内容,并且还可以更改预缓冲内容的数量。
我的理想情况是-用户使用我的应用流式传输电影文件,如果他暂停播放按钮,则电影会像您观看youtube视频一样继续缓冲。
请帮忙 !!
谢谢。
iphone avfoundation video-streaming http-live-streaming avplayer
我在我的应用中传输音频.它已经完成,但是当我收到一个电话时,我应暂停流,直到呼叫结束,然后再次播放流.是否可以在Android中接听电话时暂停和播放流?
我正在Ubuntu 11.10上运行,打算编译HTTP Live视频流段和Distrbutor.
按照此处的说明,我设法相应地设置FFMpeg.但是当我尝试配置它时遇到了错误.
gcc -v -Wall -g live_segmenter.c -o live_segmenter\-lavformat -lavcodec -lavutil -lvorbis -ltheora\-lbz2 -lm -lz -lfaac -lmp3lame\-I/tmp/old_ffmpeg/include\-L/tmp/old_ffmpeg/lib目录
以下是错误消息:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-g' '-o' 'live_segmenter' '-I' '/tmp/old_ffmpeg/include' '-L/tmp/old_ffmpeg/lib' '-mtune=generic' …Run Code Online (Sandbox Code Playgroud) 我有一个要求,我需要从Android中的HLS流中提取元数据.我找到了两个库FFMPEG和VITAMIO.考虑到HLS流媒体在Android上的零碎支持,在阅读了大量更令人困惑的文章之后,我已经完成了上述两个库的进一步研究.我还没有找到一个单独的应用程序,其中提取元数据(定时元数据)已经在Android上完成.
如果在Android上甚至可能,我很困惑.如果是这样,我应该使用哪种方法......帮助我......
Apple会指定这个吗?应该在PES数据包有效负载中放入多少个访问单元?
另外,我想知道PES包中存在哪些前缀起始码(如果有的话).我假设访问单元中第一个NAL单元之前的那个是无用的,不能放.对?
我想知道它是如何在HLS中专门完成的 - 不一定是任何其他MPEG-2 TS应用程序.
目前我正在研究类似"Skype"的应用程序.例如人们视频通话给其他人.现在我想在Microsoft Azure Media Services上运行它.但是我不太确定这是否可行.
我发现这个视频解释了如何从您的计算机网络摄像头制作一个简单的流.他们在那里做的是创建一个Channel(在Azure环境中手动)并流式传输到ingest url.结果可以在中看到publish url.
到现在为止还挺好.我理解这一点.但这种方法不适用于让人们与其他人进行视频聊天.(每个"视频聊天"都需要它自己的Channel假设)并且手动创建它们是行不通的.
所以我发现有一个REST API.要创建渠道通过REST.哪种可能性.但创建单曲Channel需要30秒.所以这也不是我想的方式.
我想我的问题归结为这个.是否可以在Windows Azure(媒体服务)上运行类似Skype的应用程序,如果可以的话.怎么样?
azure videochat http-live-streaming webrtc azure-media-services
我正在使用wowza流引擎和jw播放器来显示流和工作正常.但我想控制视频的比特率,以便用户可以在没有太多缓冲的情况下看到视频.所以我在stackoverflow中搜索并找到以下链接. 为什么smil文件在wowza和jwplayer中都不能与rtmp一起使用
我正在使用JWplayer pro 6.0.2813和wowza 4.3
这是我的test.smil文件
<smil>
<head>
</head>
<body>
<switch>
<video src='mp4:test_49152.mp4' system-bitrate='49152' title='192x108'/>
<video src='mp4:test_114688.mp4' system-bitrate='114688' title='256x144'/>
<video src='mp4:test_184320.mp4' system-bitrate='184320' title='320x180'/>
<video src='mp4:test_339968.mp4' system-bitrate='339968' title='480x270'/>
<video src='mp4:test_544768.mp4' system-bitrate='544768' title='640x360'/>
<video src='mp4:test_987136.mp4' system-bitrate='987136' title='854x480'/>
</switch>
</body>
</smil>
Run Code Online (Sandbox Code Playgroud)
和我的js代码:
var playerInstance = jwplayer("myElement");
playerInstance.setup({
type: 'smil',
playlist: [{
image: "/images/myPoster.jpg",
sources: [{
file: "http://173.244.173.196:1935/vod/smil:test.smil/manifest.mpd"
},{
file: "rtmp://173.244.173.196:1935/vod/smil:test.smil" //Adobe RTMP . not work
},{
file: "http://173.244.173.196:1935/vod/smil:test.smil/jwplayer.smil" //Adobe RTMP . not work
},{
file: "http://173.244.173.196:1935/vod/smil:test.smil/manifest.f4m"
},{
file: "rtsp://173.244.173.196:1935/vod/smil:test.smil"
},{
file: "http://173.244.173.196:1935/vod/smil:test.smil/playlist.m3u8" …Run Code Online (Sandbox Code Playgroud) 我有一个我正在构建的视频播放器需要播放HLS直播和点播流.
它似乎只在Safari中正常工作.(减去我需要更新的自定义样式,忽略它)在所有其他浏览器中,我收到此错误:
VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded,
either because the server or network failed or because the format is not supported.
我错过了什么?看起来非常类似于contrib-hls演示页面实现,它在所有浏览器中都可以正常运行.
这是回购:https: //github.com/adult-swim/adult-swim-video-player和要看的分支是feature-latest-versions
为了测试我实际上在这里使用来自videojs-contrib-hls演示页面的下载视频:http://videojs.github.io/videojs-contrib-hls/
这是我在初始化VideoJS的地方:https://github.com/adult-swim/adult-swim-video-player/blob/feature-latest-versions/app/scripts/views/adult-swim -视频- player.js#L56
这是代码的两个编译版本:
http://www.adultswim.com/dev/as-player/ - on demand
http://www.adultswim.com/dev/as-player-live/ - live
我正在使用这些版本:
video.js:5.5.2
videojs-contrib-hls:1.3.4
videos-contrib-media-sources:2.4.4
我开发了一个小应用程序,可以录制和播放小视频(最多10秒).该应用程序以6 Mbps的速度捕获视频.为了确保更快的视频播放,我正在尝试实现HLS(http直播).但我注意到应用程序始终首先以最低比特率获取流,并且仅在10秒后才切换到最佳可用流(基于网络带宽).
我测试了不同的媒体播放器,如android媒体播放器,exoplayer等,但行为是一致的.视频仅在10秒后才会更改流.这是android中hls的默认实现吗?还是我错过了什么?我以前测试的m3u8是http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
localUrl = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
vidView.setVideoPath(localUrl);
Log.i("GenericRequest", "VideoUrl " + localUrl);
vidView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vidView.start();
}
});
Run Code Online (Sandbox Code Playgroud) video-streaming http-live-streaming android-mediaplayer android-videoview exoplayer
HLS协议是否指定音频编解码器?如果可以,支持哪些功能?
我尝试搜索,但是发现了不同的列表:
MP3,HE-AAC或AC-3
根据维基百科
AAC,AAC-LC,HE-AAC(accPlus)v1和v2,MP3
根据这个
AAC-LC,HE-AACV1-2,AC-3和EC-3
根据FairPlay概述(属于HLS的子集)