如何停止在我的网页浏览中播放的YouTube视频?当我点击后退按钮时,视频不会停止,而是在后台继续播放.
码:
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setSupportZoom(false);
webView.loadData(myUrl,"text/html", "utf-8");
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我解码视频并替换某些帧并使用MediaMuxer和重新编码MediaCodec.如果我不替换任何帧(除了1080p视频,我将在下面解释),该应用程序可以工作,但是当我这样做时,替换后的帧会像素化,视频会不稳定.
此外,当我尝试使用1920x1080视频的应用程序时,我得到一个奇怪的输出,其中视频没有显示任何内容,直到我滚动到视频的开头,然后视频开始显示(但具有之前提到的相同问题)编辑后的像素化.
以下是我配置编码器的方法:
Video_format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, interval);
Video_format.setInteger(MediaFormat.KEY_BIT_RATE, bitRate);
Video_format.setInteger(MediaFormat.KEY_FRAME_RATE, frameRate);
Video_format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 0);
int color_format=MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar;
Video_format.setInteger(MediaFormat.KEY_COLOR_FORMAT, color_format);
encoder.configure(Video_format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
Run Code Online (Sandbox Code Playgroud)
总而言之,我有两个问题:
1-修改帧后的像素化帧和不连贯的视频.
2-损坏的1920x1080视频,除非我滚动到开头.
编辑
这是一个未经编辑的1080p视频示例,当我在VLC上播放并在手机上播放不正确时会显示绿屏,除非我滚动开始,现在奇怪地在YouTube上正常工作,除了开始时的绿框
这是一个720p视频样本,在开始时也使用绿色框架进行编辑,并在编辑后清除像素化和滞后
这是我用来解码重新编码的代码:
do{
Bitmap b1;
if(edited_frames.containsKey(extractor.getSampleTime()))
b1=BitmapFactory.decodeFile(edited_frames.get(extractor.getSampleTime()));
else
b1=decode(extractor.getSampleTime(),Preview_width,Preview_Height);
if(b1==null) continue;
Bitmap b_scal=Bitmap.createScaledBitmap(b1, Preview_width, Preview_Height, false);
if(b_scal==null) continue;
encode(b_scal, encoder, muxer, videoTrackIndex);
lastTime=extractor.getSampleTime();
}while(extractor.advance());
Run Code Online (Sandbox Code Playgroud)
解码方法:
private Bitmap decode(final long time,final int width,final int height){
MediaFormat newFormat = codec.getOutputFormat();
Bitmap b = null;
final int TIMEOUT_USEC = 10000;
ByteBuffer[] …Run Code Online (Sandbox Code Playgroud) 尽管所有的炒作,实际上HTML5视频标签有一些问题.为了使用它并使其与浏览器兼容,您必须包含多种格式的视频.要定位所有支持的浏览器,这些格式为mp4和ogg.
我正在寻找每种格式的最佳设置,但不幸的是我找不到任何格式.我正在使用ffmpeg 0.6,其标语为"Works with HTML5".我不是视频专家,所以我想知道是否有人可以为每种格式推荐合适的设置?
我试图从iphone 3GS相机拍摄的视频中获取(第一帧的)缩略图,以便我可以显示它.这该怎么做?
这两个都一样吗?是MPEG-4的H.264编解码器吗?如果我需要将flv转换为高清H.264视频格式怎么办?我想制作在线电视流媒体,并希望使用PHP或Python.
任何人都可以告诉我如果我们只有URL或嵌入代码,我们如何展示或嵌入YouTube视频?
我正在开发一个显示youtube视频的应用程序.我想将视频ID存储在数据库中,但由于会有很多视频,我想尽量减少所需的空间,所以有人知道youtube上视频ID的最大长度吗?
任何人都可以建议我如何将youtube频道嵌入网页 - 我从各个网站获取相互冲突的信息,如果可能的话,最好使用自定义播放器?谢谢
有谁知道任何可以将视频(avi,flv,等等)转换为HTML5支持的ogg/ogv和mpeg4格式的软件?
我尝试了一些,但我找不到任何有效的东西.
我正在开发一个有集合视图的应用程序,集合视图的单元格可以包含视频.现在我正在用AVPlayer和显示视频AVPlayerLayer.不幸的是,滚动性能很糟糕.看起来AVPlayer,AVPlayerItem和AVPlayerLayer做了很多工作的主线上.他们不断拿出锁,等待信号量等,这阻碍了主线程并导致严重的帧丢失.
有没有办法告诉AVPlayer停止在主线程上做这么多事情?到目前为止,我所尝试的一切都没有解决问题.
我也试过使用构建一个简单的视频播放器AVSampleBufferDisplayLayer.使用它我可以确保一切都发生在主线程之外,我可以在滚动和播放视频时达到~60fps.不幸的是,这种方法的级别要低得多,而且它不提供开箱即用的音频播放和时间擦除等功能.有没有办法获得类似的表现AVPlayer?我更愿意使用它.
编辑:
在进一步研究之后,看起来在使用时可能无法实现良好的滚动性能AVPlayer.创建一个AVPlayer并与一个AVPlayerItem实例关联开始了一大堆蹦床到主线程的工作,然后它在信号量上等待并尝试获取一堆锁.随着滚动视图中视频数量的增加,停止主线程的时间量会急剧增加.
AVPlayerdealloc似乎也是一个巨大的问题.Dealloc'ing an AVPlayer也尝试同步一堆东西.再次,当你创造更多的球员时,这会非常糟糕.
这非常令人沮丧,它AVPlayer几乎无法用于我正在尝试的事情.阻止像这样的主线程这样做是一件非常业余的事情,很难相信苹果工程师会犯这种错误.无论如何,希望他们能尽快解决这个问题.
video ×10
youtube ×4
android ×2
html5 ×2
ios ×2
avfoundation ×1
avplayer ×1
channel ×1
embed ×1
ffmpeg ×1
html ×1
iphone ×1
mediacodec ×1
mediamuxer ×1
mp4 ×1
mpeg ×1
ogg ×1
php ×1
thumbnails ×1
webview ×1
youtube-api ×1