ffmpeg屏幕录像时无法封装为mkv

Totem,mplayer,sopcast,realplayer,bmp
头像
kevin.lo
帖子: 92
注册时间: 2010-02-27 14:26
联系:

ffmpeg屏幕录像时无法封装为mkv

#1

帖子 kevin.lo » 2012-06-30 14:51

系统为ubuntu12.04,编译安装x264和ffmpeg,执行命令进行屏幕录像可以封装avi,但视频编辑软件读不到avi的时间标记。封装为mkv,就会遇到错误停止运行,详情如下,望高手给予解释,不胜感激!

kevin@ubuntu:~$ sudo ffmpeg -f alsa -ac 1 -ar 44100 -i pulse -f x11grab -r 10 -s wxga -i :0.0 -acodec pcm_s16le -vcodec libx264 ~/temp/00.mkv

ffmpeg version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
built on Jun 12 2012 16:37:58 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[alsa @ 0x9bc1240] capture with some ALSA plugins, especially dsnoop, may hang.
[alsa @ 0x9bc1240] Estimating duration from bitrate, this may be inaccurate
Input #0, alsa, from 'pulse':
Duration: N/A, start: 1340528176.989990, bitrate: N/A
Stream #0.0: Audio: pcm_s16le, 44100 Hz, 1 channels, s16, 705 kb/s
[x11grab @ 0x9bc1f00] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1366 height: 768
[x11grab @ 0x9bc1f00] shared memory extension found
[x11grab @ 0x9bc1f00] Estimating duration from bitrate, this may be inaccurate
Input #1, x11grab, from ':0.0':
Duration: N/A, start: 1340528177.156506, bitrate: 335708 kb/s
Stream #1.0: Video: rawvideo, bgra, 1366x768, 335708 kb/s, 10 tbr, 1000k tbn, 10 tbc
Incompatible pixel format 'bgra' for codec 'libx264', auto-selecting format 'yuv420p'
[buffer @ 0x9bdf780] w:1366 h:768 pixfmt:bgra
[avsink @ 0x9bd53a0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x9bd70a0] w:1366 h:768 fmt:bgra -> w:1366 h:768 fmt:yuv420p flags:0x4
[libx264 @ 0x9bde7e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x9bde7e0] profile Main, level 3.2
[libx264 @ 0x9bde7e0] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=2 keyint=250 keyint_min=10 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=1:1.00
Output #0, matroska, to '/home/kevin/temp/00.mkv':
Metadata:
encoder : Lavf53.21.0
Stream #0.0: Video: libx264, yuv420p, 1366x768, q=-1--1, 1k tbn, 10 tbc
Stream #0.1: Audio: pcm_s16le, 44100 Hz, 1 channels, s16, 705 kb/s
Stream mapping:
Stream #1.0 -> #0.0
Stream #0.0 -> #0.1
Press ctrl-c to stop encoding
frame= 7 fps= 0 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 12 fps= 11 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 18 fps= 11 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 23 fps= 10 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 28 fps= 10 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 34 fps= 10 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 39 fps= 10 q=0.0 size= 1kB time=10000000000.00 bitrate= 0.0kbit
frame= 42 fps= 10 q=25.0 size= 1kB time=10000000000.00 bitrate= 0.0kbi
[matroska @ 0x9bde120] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 1 >= 1
av_interleaved_write_frame(): Invalid argument

代码: 全选

每个人都不孤独,因为他包孕于人类,因他人存在而存在,因他人幸福而幸福!
头像
kevin.lo
帖子: 92
注册时间: 2010-02-27 14:26
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#2

帖子 kevin.lo » 2012-06-30 14:59

英文不好,音视频相关的东西又太复杂,搞不懂问题出在哪里了,望高手指点!

代码: 全选

每个人都不孤独,因为他包孕于人类,因他人存在而存在,因他人幸福而幸福!
mraandtux
论坛版主
帖子: 5211
注册时间: 2009-12-12 19:29
系统: Kubuntu + Windows 10

Re: ffmpeg屏幕录像时无法封装为mkv

#3

帖子 mraandtux » 2012-06-30 15:10

建议换mp4转码。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: ffmpeg屏幕录像时无法封装为mkv

#4

帖子 eexpress » 2012-06-30 17:35

mkv有专门的工具。那只是封装格式。通常不是ffmpeg管的事情,ffmpeg只是管编码格式。

i mkvtoolnix - Set of command-line tools to work with Mat
i mkvtoolnix-gui - Set of tools to work with Matroska files -
● 鸣学
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#5

帖子 YeLee » 2012-06-30 20:58

ffmpeg只支持mkv解码的吧,编码都是专用工具的。
ffmpeg -formats就知道了。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
nyfair
帖子: 1067
注册时间: 2007-12-07 12:49
系统: winnux10
来自: Tree New Bee

Re: ffmpeg屏幕录像时无法封装为mkv

#6

帖子 nyfair » 2012-07-02 11:20

ffmpeg当然支持mkv封装,用我签名里的libav,封装mkv妥妥的
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见多媒体问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在

⇩自由网络⇩
https://github.com/nyfair/freeweb
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#7

帖子 YeLee » 2012-07-02 11:27

这样啊,原来是我没libav啊。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
kevin.lo
帖子: 92
注册时间: 2010-02-27 14:26
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#8

帖子 kevin.lo » 2012-07-02 14:56

nyfair 写了:ffmpeg当然支持mkv封装,用我签名里的libav,封装mkv妥妥的
大师,我没搞懂阿,直接告诉我怎么做吧~

代码: 全选

每个人都不孤独,因为他包孕于人类,因他人存在而存在,因他人幸福而幸福!
头像
kevin.lo
帖子: 92
注册时间: 2010-02-27 14:26
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#9

帖子 kevin.lo » 2012-07-02 14:58

YeLee 写了:这样啊,原来是我没libav啊。
Lee看来是你懂了,告诉我怎么做

代码: 全选

每个人都不孤独,因为他包孕于人类,因他人存在而存在,因他人幸福而幸福!
头像
kevin.lo
帖子: 92
注册时间: 2010-02-27 14:26
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#10

帖子 kevin.lo » 2012-07-02 15:26

eexpress 写了:mkv有专门的工具。那只是封装格式。通常不是ffmpeg管的事情,ffmpeg只是管编码格式。

i mkvtoolnix - Set of command-line tools to work with Mat
i mkvtoolnix-gui - Set of tools to work with Matroska files -
是我需要安装mkvtoolnix吗?我用执行安装apt-get install mkvtoolnix,后重启,错误依旧

代码: 全选

每个人都不孤独,因为他包孕于人类,因他人存在而存在,因他人幸福而幸福!
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: ffmpeg屏幕录像时无法封装为mkv

#11

帖子 YeLee » 2012-07-03 20:09

kevin.lo 写了:
YeLee 写了:这样啊,原来是我没libav啊。
Lee看来是你懂了,告诉我怎么做
额,貌似是libav的问题。
http://libav.org/download.html
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
beterhans
帖子: 31
注册时间: 2008-11-17 16:30

Re: ffmpeg屏幕录像时无法封装为mkv

#12

帖子 beterhans » 2012-07-08 20:47

楼主 希望你常识下我的格式

代码: 全选

ffmpeg -f x11grab -follow_mouse 200 -r 8 -s 800x600 -i :0.0 \
-f alsa -i hw:0 \
-vcodec libx264 -profile:v main -level 3.1 -qmax 20 -qmin 12 \
-acodec libfaac -ac 2 -ab 160k \
-threads 0 \
screen_capture.mp4
-s 是抓取分辨率大小 -r 是帧数 因为 抓屏一般来说是作教程的 所以无所谓高 fps
输出格式是标准 mp4 H.264 + AAC 可以被所有设备播放 比如 PS3 Xbox iPhone iPad 或者 各种 android.
比 mkv 强多了

如果你一定要 mkv 只要将 screen_capture.mp4 换成 .mkv 但是会造成 比如 PS3 Xbox iPhone iPad 或者 各种 android. 的原生播放器无法播放
注意事项
1. 无须 sudo
2. 另外如果你发现录制不出声音 看这个视频 http://115.com/file/dptqt1cy#screen-capture.zip
3. 如果问你是否覆盖 前一个录制的文件 不要开始录制 因为那会造成 视频音频不同步 删除原来的再录制
头像
nyfair
帖子: 1067
注册时间: 2007-12-07 12:49
系统: winnux10
来自: Tree New Bee

Re: ffmpeg屏幕录像时无法封装为mkv

#13

帖子 nyfair » 2012-07-09 11:15

beterhans 写了:楼主 希望你常识下我的格式

代码: 全选

ffmpeg -f x11grab -follow_mouse 200 -r 8 -s 800x600 -i :0.0 \
-f alsa -i hw:0 \
-vcodec libx264 -profile:v main -level 3.1 -qmax 20 -qmin 12 \
-acodec libfaac -ac 2 -ab 160k \
-threads 0 \
screen_capture.mp4
-s 是抓取分辨率大小 -r 是帧数 因为 抓屏一般来说是作教程的 所以无所谓高 fps
输出格式是标准 mp4 H.264 + AAC 可以被所有设备播放 比如 PS3 Xbox iPhone iPad 或者 各种 android.
比 mkv 强多了

如果你一定要 mkv 只要将 screen_capture.mp4 换成 .mkv 但是会造成 比如 PS3 Xbox iPhone iPad 或者 各种 android. 的原生播放器无法播放
注意事项
1. 无须 sudo
2. 另外如果你发现录制不出声音 看这个视频 http://115.com/file/dptqt1cy#screen-capture.zip
3. 如果问你是否覆盖 前一个录制的文件 不要开始录制 因为那会造成 视频音频不同步 删除原来的再录制

mkv除了硬件支持稍逊一点外各方面都完胜mp4,而且造成这种局面都是被你们这种人惯坏的

另外mp4的硬件分离器是有专利费的,如果人人都抵制mp4,硬件厂商当然也是逐利的明白人,各种你所谓的PS3 Xbox iPhone iPad 或者各种android还能降点价多好

最后,我不觉得这种很标准的参数生成的mkv会没法播放
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见多媒体问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在

⇩自由网络⇩
https://github.com/nyfair/freeweb
beterhans
帖子: 31
注册时间: 2008-11-17 16:30

Re: ffmpeg屏幕录像时无法封装为mkv

#14

帖子 beterhans » 2012-07-09 16:33

nyfair 写了:
beterhans 写了:楼主 希望你常识下我的格式

代码: 全选

ffmpeg -f x11grab -follow_mouse 200 -r 8 -s 800x600 -i :0.0 \
-f alsa -i hw:0 \
-vcodec libx264 -profile:v main -level 3.1 -qmax 20 -qmin 12 \
-acodec libfaac -ac 2 -ab 160k \
-threads 0 \
screen_capture.mp4
-s 是抓取分辨率大小 -r 是帧数 因为 抓屏一般来说是作教程的 所以无所谓高 fps
输出格式是标准 mp4 H.264 + AAC 可以被所有设备播放 比如 PS3 Xbox iPhone iPad 或者 各种 android.
比 mkv 强多了

如果你一定要 mkv 只要将 screen_capture.mp4 换成 .mkv 但是会造成 比如 PS3 Xbox iPhone iPad 或者 各种 android. 的原生播放器无法播放
注意事项
1. 无须 sudo
2. 另外如果你发现录制不出声音 看这个视频 http://115.com/file/dptqt1cy#screen-capture.zip
3. 如果问你是否覆盖 前一个录制的文件 不要开始录制 因为那会造成 视频音频不同步 删除原来的再录制

mkv除了硬件支持稍逊一点外各方面都完胜mp4,而且造成这种局面都是被你们这种人惯坏的

另外mp4的硬件分离器是有专利费的,如果人人都抵制mp4,硬件厂商当然也是逐利的明白人,各种你所谓的PS3 Xbox iPhone iPad 或者各种android还能降点价多好

最后,我不觉得这种很标准的参数生成的mkv会没法播放
mkv 自然可以在支持 mkv 的播放器上播放 mkv 是开源的东西 但是我不知道在商业使用上有什么限制 但是你看正经的商业产品有那个东西是原生支持 mkv 的? 国外通过网络下载的正版片子有 mkv 格式的么? 或者你见过 mkv 的正版片吗?

你不能把 所有的商家都想成是 做山寨播放器的 正经的商家比如 SONY APPLE AMAZON 或者 MS
他们都是知识 与 内容的生产者, 如果我出一个产品能很方便的播放 mkv 不是打自己嘴巴么?

如果你眼中的商家是 国内商家 或者 做山寨的东西的 那自然 他们只是为了卖机器自然 格式支持越多越好 因为它不关心用户看不看盗版正版, 只要它的机器能播放 盗版和正版就 OK了, 但是正经商家是不会这么做的。 所以主流数码产品原生播放器 我就没见过一个能支持播放 mkv 的。 虽然 mkv 对于用户来说 方便很多. 几乎没啥限制 而 MP4 则有限制.

那对我来说 因为我同时有 XBOX360 和 iPhone iPad 深知 MKV 的苦所以我开始从 MKV 转 MP4. 这样不管电脑 还是 设备都能完美播放。
头像
nyfair
帖子: 1067
注册时间: 2007-12-07 12:49
系统: winnux10
来自: Tree New Bee

Re: ffmpeg屏幕录像时无法封装为mkv

#15

帖子 nyfair » 2012-07-10 11:40

beterhans 写了: mkv 自然可以在支持 mkv 的播放器上播放 mkv 是开源的东西 但是我不知道在商业使用上有什么限制 但是你看正经的商业产品有那个东西是原生支持 mkv 的? 国外通过网络下载的正版片子有 mkv 格式的么? 或者你见过 mkv 的正版片吗?

你不能把 所有的商家都想成是 做山寨播放器的 正经的商家比如 SONY APPLE AMAZON 或者 MS
他们都是知识 与 内容的生产者, 如果我出一个产品能很方便的播放 mkv 不是打自己嘴巴么?

如果你眼中的商家是 国内商家 或者 做山寨的东西的 那自然 他们只是为了卖机器自然 格式支持越多越好 因为它不关心用户看不看盗版正版, 只要它的机器能播放 盗版和正版就 OK了, 但是正经商家是不会这么做的。 所以主流数码产品原生播放器 我就没见过一个能支持播放 mkv 的。 虽然 mkv 对于用户来说 方便很多. 几乎没啥限制 而 MP4 则有限制.

那对我来说 因为我同时有 XBOX360 和 iPhone iPad 深知 MKV 的苦所以我开始从 MKV 转 MP4. 这样不管电脑 还是 设备都能完美播放。
mkv商业使用没有任何限制,所以国外通过网络下载的各种rip基本全是mkv格式。当然你说得很对,sony apple这种正经商家本来就是MP4标准的起草者,去支持其他格式就是自己掌嘴。

另外我的意思可不是格式支持越多越好,而是抵制这类东西,别给这些毫无优势的东西的专利费埋单,应该消亡的东西就该消亡。比如很多人买个东西还问是不是支持rmvb,商家么都是被惯坏的
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见多媒体问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在

⇩自由网络⇩
https://github.com/nyfair/freeweb
回复