我需要能够以编程方式将mpeg-2文件转码为.mp4,.mp3,.wmv,.rm(可选)和.flv(可选),并希望生成缩略图.我找到了Java Media Framework,但坦率地看起来很糟糕.这将运行一个Linux服务器,所以我可以使用Commons Exec来解决ffmpeg - ffmpeg会做我需要做的一切吗?FFmpeg似乎相当令人生畏,这就是为什么我无法找到这些信息,但它绝对是一个万能的交易.有什么建议?
运行"cabal install sdl-mpeg"
$ ls -l /usr/include/smpeg/smpeg.h
-rw-r--r-- 1 root root 7503 2008-11-05 18:07 /usr/include/smpeg/smpeg.h
$ cabal install sdl-mpeg
Resolving dependencies...
Configuring SDL-mpeg-0.0.1...
cabal: Missing dependency on a foreign library:
* Missing header file: smpeg.h
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it …Run Code Online (Sandbox Code Playgroud) 我有一个.y4m视频文件,我想用FFmpeg将其转换为.mp4.问题是我想要某种GOP,这个:IBBPBBPBBPBB.但是,当我将GOP大小设置为12(-g 12)时,我得到的是IPPPPPPPPPPP.我也试过使用该-bf 8选项,但我得到的结果就像IPBBB ......而且视频播放不正确.
你能告诉我如何IBBPBBPBBPBB使用FFmpeg 获得准确的GOP吗?
谢谢你的帮助
如何在Flash中加载和播放.avi或.mpg4?那可能吗 ?
- >这个类可以播放.flv和.mp4 ..但是对于.avi它显示错误"错误#2044:未处理的NetStatusEvent:.level = error,code = NetStream.Play.StreamNotFound"
package src {
import flash.display.Sprite;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.Event;
import flash.events.MouseEvent;
public class vplayer extends Sprite{
public var vid:Video = new Video(1920,1080);
private var nc:NetConnection = new NetConnection();
public var ns:NetStream;
public var listener:Object = new Object();
private var _duration:Number = 0;
public function vplayer():void{
addChild(vid);
nc.connect(null);
ns = new NetStream(nc);
vid.attachNetStream(ns);
listener.onMetaData = metaDataHandler;
ns.client = listener;
//customClient.onCuePoint = cuePointHandler;
}
public function playVideo00(vv:String):void{
ns.play(vv);
} …Run Code Online (Sandbox Code Playgroud) 我不知道我需要问哪个标签这个问题.我目前正在研究数字电视广播的ATSC标准.在浏览内容时我有疑虑.在数字电视广播中,单个带宽将包含多个频道(服务).
由广播公司编码和多路复用的数据称为传输流.
传输流由标头和有效负载组成.标题包括音频基本流或视频基本流或数据基本流的PID.该传输流由包含中间件的机顶盒接收,该中间件解析传输流并将数据放入PAT,PMT,EIT,ETT,SDT,NIT,CAT表中.
是否可以使用PSI表而不是ATSC表?
我正在尝试获取有关视频 (mp4) 帧中所有宏块的信息。特别是我正在使用ffmpeg命令:
ffmpeg -debug mb_type -i input.mp4 out.mp4 2> macroblocks.txt
Run Code Online (Sandbox Code Playgroud)
它似乎工作正常,但是......我不明白如何解析输出!
看到很多无趣的文字后,开始了一组以
“新框架,类型:[框架类型]”
所以我假设这些是指包含每个宏块类型的每个帧的块..但是里面的符号是什么意思?
新框架,类型:B [h264 @ 000001c0241c1cc0] d < X- < I > > > X ddddd < < d < d > < dd > d < ddd < > < d < > X < dd > d X d < > d X d > > d d+ d
从理论上我知道有内部或预测的宏块,但我不明白如何从“新帧”块中解析这些信息。
也经常有这样的句子
nal_unit_type:1(非 IDR 图片的编码切片),nal_ref_idc:2
或者
cur_dts 无效(如果它在每个流开始时发生一次,则无害)
我真的不明白......我也找不到 …
我正在尝试使用ffmpeg从mp4文件创建一个1s剪辑到mpeg,但是我收到一个错误:
ffmpeg -i /tmp/myfile.mp4 -y -ss 00:00:01 -t 00:00:01.000 /tmp/myfilesplit.1.mpg
ffmpeg version N-31716-g318fd9d, Copyright (c) 2000-2011 the FFmpeg developers
built on Aug 1 2011 16:10:33 with gcc 4.4.5
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-libvpx
libavutil 51. 11. 1 / 51. 11. 1
libavcodec 53. 9. 0 / 53. 9. 0
libavformat 53. 6. 0 / 53. 6. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 27. 5 / …Run Code Online (Sandbox Code Playgroud) 尝试使用 gTTS 模块将文本转换为语音并另存为 wav 文件。
我的代码:
import gTTS
text = "This is my text in the saving folder"
tts = gTTS(text)
tts.save('sample.wav')
Run Code Online (Sandbox Code Playgroud)
文件已保存,但当我检查文件信息时:
$ mediainfo sample.wav
General
Complete name : sample.wav
Format : MPEG Audio
File size : 15.8 KiB
Duration : 4 s 32 ms
Overall bit rate mode : Constant
Overall bit rate : 32.0 kb/s
FileExtension_Invalid : m1a mpa1 mp1 m2a mpa2 mp2 mp3
Audio
Format : MPEG Audio
Format version : Version 2
Format profile : …Run Code Online (Sandbox Code Playgroud)