这个问题可能非常基础
有没有办法减少有损压缩(WMV,MPEG)格式的帧大小/速率,以获得相同格式的较小尺寸的较小视频.
是否有任何开源或专有api?
你如何使用jQuery更改HTML5视频标签的src?
我有这个HTML:
<div id="divVideo">
<video controls>
<source src="test1.mp4" type="video/mp4" />
</video>
</div>
Run Code Online (Sandbox Code Playgroud)
这不起作用:
var videoFile = 'test2.mp4';
$('#divVideo video source').attr('src', videoFile);
Run Code Online (Sandbox Code Playgroud)
如果我使用firebug检查它,它会更改src,但实际上并不会更改正在播放的视频.
我读到了.pause()和.load(),但我不知道如何使用它们.
我怎样才能完全隐藏HTML5视频控件?
<video width="300" height="200" controls="false" autoplay="autoplay">
<source src="video/supercoolvideo.mp4" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)
假不起作用 - 这是怎么做到的?
干杯.
我正在尝试在Android模拟器中播放视频我在我的资源文件夹中的视频以及原始文件夹但是在做了一些研究后仍然无法在我的模拟器中播放视频我正在使用android 2.1我的视频格式是mp4所以我不要认为这应该是一个问题任何人都可以给我一个示例代码,以便我可以了解更多?
问题是我需要显示视频的VideoView只会使用URI或文件路径指向视频.
如果我将视频保存在raw或assets文件夹中,我只能获得输入流或文件描述符,似乎没有什么可用于初始化VideoView.
更新
我仔细研究了MediaPlayer示例,并尝试使用FileDescriptor启动MediaPlayer到资源文件,如下面的代码所示:
SurfaceView videoView = (SurfaceView) findViewById(gettingStarted)
SurfaceHolder holder = videoView.getHolder();
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
final MediaPlayer player = new MediaPlayer();
player.setDisplay(holder);
player.setDataSource(getAssets().openFd(fileName).getFileDescriptor());
player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
Run Code Online (Sandbox Code Playgroud)
现在我得到以下异常:
java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
Run Code Online (Sandbox Code Playgroud)
似乎没有其他方法可以在启动时将文件复制到SD卡,这似乎浪费时间和内存.
我可以使用<video>或<audio>标签播放播放列表并控制它们吗?
我的目标是知道视频/歌曲何时播放完毕并拍摄下一个并改变音量.
我已经查看了几个问题,以确定HTML5元素是否正在播放,但无法找到答案.我查看了W3文档,它有一个名为"播放"的事件,但我似乎无法让它工作.
这是我目前的代码:
var stream = document.getElementsByTagName('video');
function pauseStream() {
if (stream.playing) {
for (var i = 0; i < stream.length; i++) {
stream[i].pause();
$("body > header").addClass("paused_note");
$(".paused_note").text("Stream Paused");
$('.paused_note').css("opacity", "1");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想将视频中的音频放到另一个没有音频的视频中(在一个命令中):
ffmpeg.exe -i video1_noAudio.mov -i video2_wAudio.mov -vcodec copy -acodec copy video1_audioFromVideo2.mov
Run Code Online (Sandbox Code Playgroud)
我猜"-map"是正确的方法,但我对此感到困惑.
你能建议如何解决吗?
如何使用ffmpeg使用单个图像(image1.png)生成电影,持续时间为15秒,具有特定分辨率,因此当我播放视频时,图像将在屏幕上显示15秒.
我一直在尝试使用AVAssetWriter和AVAssetWriterInputs编写视频+音频.
我在这个论坛上看了很多人说他们能够做到这一点,但这对我不起作用.如果我只是写视频,那么代码就能很好地完成它的工作.当我添加音频时,输出文件已损坏且无法再现.
这是我的代码的一部分:
设置AVCaptureVideoDataOutput和AVCaptureAudioDataOutput:
NSError *error = nil;
// Setup the video input
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo];
// Create a device input with the device and add it to the session.
AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:&error];
// Setup the video output
_videoOutput = [[AVCaptureVideoDataOutput alloc] init];
_videoOutput.alwaysDiscardsLateVideoFrames = NO;
_videoOutput.videoSettings =
[NSDictionary dictionaryWithObject:
[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey];
// Setup the audio input
AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeAudio];
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice error:&error ];
// Setup the …Run Code Online (Sandbox Code Playgroud) 所以我知道这是一个相当大的挑战,但我想使用FFmpeg库在c#中编写一个基本的电影播放器/转换器.但是,我需要克服的第一个障碍是将FFmpeg库包装在c#中.我已经下载了ffmpeg但无法在Windows上编译它,所以我为我下载了一个预编译版本.太棒了.然后我开始寻找C#包装器.
我环顾四周,发现了一些包装器,如SharpFFmpeg(http://sourceforge.net/projects/sharpffmpeg/)和ffmpeg-sharp(http://code.google.com/p/ffmpeg-sharp/).首先,我想使用ffmpeg-sharp作为其LGPL而SharpFFmpeg是GPL.但是,它有很多编译错误.事实证明它是为单声道编译器编写的,我尝试用单声道编译它但无法弄清楚如何.然后我开始自己手动修复编译器错误,但遇到了一些可怕的错误,并认为我最好不要单独留下它们.所以我放弃了ffmpeg-sharp.
然后我看着SharpFFmpeg,它看起来像我想要的,所有P/Invoked函数.不过它的GPL?AVCodec.cs和AVFormat.cs文件看起来像avcodec.c和avformat.c的端口,我估计我可以移植自己?然后不必担心许可.
但是我想在开始编码之前做到这一点.我是不是该:
要么
首先要考虑的是我在C++方面并不擅长,因为我很少使用它,但我知道它足以绕过它.我认为#1的原因可能是更好的选择,因为大多数FFmpeg教程都是用C++编写的,而且我对内存管理的控制也比我在c#中做的要多.
你怎么看?您是否也碰巧使用FFmpeg有任何有用的链接(也许是教程)?
video ×10
audio ×3
ffmpeg ×3
html5 ×3
html ×2
javascript ×2
android ×1
assets ×1
c# ×1
compression ×1
dom-events ×1
html5-video ×1
iphone ×1
jquery ×1
map ×1
mux ×1