Date: Tue, 04 Feb 2003 11:32:01 +0100 From: "=?iso-8859-15?Q?Jos=E9?= M. =?iso-8859-15?Q?Fandi=F1o?=" <freebsd@fadesa.es> To: multimedia@freebsd.org Subject: ffmpeg issues with audio Message-ID: <3E3F96A1.8F0B8AF@fadesa.es>
next in thread | raw e-mail | index | archive | help
Hello,
I apologize for this long message, but it's necesary in order to
explain my problem.
Thanks to the advice of Steve I can record from a bktr device,
but the success in recording isn't as good as it could be.
When I record with sound (don't mind that video/audio codec I use
mpeg1, msmpeg4, mpeg4) the cpu spends alot of time in system context
as you can see below in the first example. Now in the second example
when I use the "-an" parameter (disable audio) the cpu has a more
moderate (read: normal) consumption.
I'm curious about this, why audio does encoding drop my framerate from
25fps and about 35% of cpu time to 19fps with 100% of cpu time usage?
Is there any other info that I can provide to help to debug this?
Perhaps an execution profile report.
Thanks all of you.
> ffmpeg -vcodec mpeg1video -b 7200 -s 384x288 -y -t 5.0 test1.mpg
Input #0, video_grab_device, from '/dev/bktr0':
Stream #0.0: Video: rawvideo, yuv420p, 384x288, 25.00 fps, 800 kb/s
Input #1, audio_device, from '/dev/dsp':
Stream #1.0: Audio: pcm_s16le, 44100 Hz, mono, 705 kb/s
Output #0, mpeg, to 'test1.mpg':
Stream #0.0: Video: mpeg1video, 384x288, 25.00 fps, q=2-31, 7200 kb/s
Stream #0.1: Audio: mp2, 44100 Hz, mono, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #1.0 -> #0.1
Press [q] to stop encoding
frame= 125 q=3.0 size= 4542kB time=5.0 bitrate=7441.6kbits/s
ffmpeg in free(): warning: page is already free
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr ad0 ad2 in sy cs us sy id
0 0 0 88560 514360 7 0 0 0 0 0 0 0 291 1531 269 5 0 95
0 0 0 88560 514360 3 0 0 0 0 0 0 0 236 1081 199 2 0 98
1 0 0 92932 515932 837 0 0 0 1613 0 3 0 252 26938 186 8 8 85
2 0 0 93144 514628 56 0 0 0 0 0 0 8 358 203007 219 44 56 0
1 0 0 92780 513764 3 0 0 0 0 0 0 7 356 203172 202 42 58 0
1 0 0 92780 512868 6 0 0 0 0 0 0 7 357 205271 198 47 53 0
1 0 0 92780 512004 3 0 0 0 0 0 0 7 357 203537 195 45 55 0
0 0 0 88196 514312 3 0 0 0 841 0 0 6 340 178599 201 41 46 13
1 0 0 88616 514312 6 0 0 0 0 0 0 0 275 1378 232 1 0 99
0 0 0 88616 514312 3 0 0 0 0 0 0 0 246 1096 184 0 1 99
> ffmpeg -vcodec mpeg1video -b 7200 -s 384x288 -y -t 5.0 -an test1.mpg
Input #0, video_grab_device, from '/dev/bktr0':
Stream #0.0: Video: rawvideo, yuv420p, 384x288, 25.00 fps, 800 kb/s
Output #0, mpeg, to 'test1.mpg':
Stream #0.0: Video: mpeg1video, 384x288, 25.00 fps, q=2-31, 7200 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 125 q=4.0 size= 4520kB time=5.0 bitrate=7405.6kbits/s
ffmpeg in free(): warning: page is already free
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr ad0 ad2 in sy cs us sy id
0 0 0 136000 514336 7 0 0 0 0 0 0 0 296 1897 358 4 2 95
0 0 0 136000 514336 3 0 0 0 0 0 0 0 230 785 135 1 2 97
1 0 0 140500 515552 865 0 0 0 1237 0 0 2 261 1303 192 9 4 87
1 0 0 140500 514576 3 0 0 0 0 0 3 8 319 1453 207 35 2 63
0 0 0 140136 513736 3 0 0 0 2 0 0 6 312 1385 206 32 3 65
1 0 0 140136 512856 6 0 0 0 0 0 0 7 314 1399 201 32 3 65
0 0 0 140136 511960 3 0 0 0 0 0 0 7 315 1414 205 31 5 65
1 0 0 136056 514360 3 0 0 0 752 0 0 5 286 1293 202 23 5 72
0 0 0 136056 514360 3 0 0 0 0 0 0 0 254 1078 191 5 2 94
0 0 0 136056 514360 3 0 0 0 0 0 0 0 257 947 155 1 2 98
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <VIA VT82C686A> at io 0xa800 irq 11 (1p/1r/0v channels duplex)
[pcm0:play:0]: spd 44100, fmt 0x10000010, flags 00000000
interrupts 0, underruns 0, ready 0
{userland} -> feeder_root(0x10000010) -> {hardware}
[pcm0:record:0]: spd 44100, fmt 0x00000010, flags 00000000
interrupts 0, overruns 0, hfree 4096, sfree 131072
{hardware} -> feeder_root(0x00000010) -> {userland}
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 4.7-RELEASE #2: Sun Jan 5 00:03:36 CET 2003
root@damocles.olimpus:/usr/src/sys/compile/NUCLEO
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD Athlon(tm) Processor (1410.21-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x644 Stepping = 4
Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
AMD Features=0xc0440000<<b18>,AMIE,DSP,3DNow!>
real memory = 805224448 (786352K bytes)
config> q
avail memory = 779366400 (761100K bytes)
Preloaded elf kernel "kernel" at 0xc03e9000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc03e909c.
Preloaded elf module "vesa.ko" at 0xc03e90ec.
Preloaded elf module "agp.ko" at 0xc03e9188.
netsmb_dev: loaded
VESA: v2.0, 32768k memory, flags:0x1, mode table:0xc03db362 (1000022)
VESA: ATI RAGE128
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 9 entries at 0xc00f1750
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
agp0: <VIA 82C8363 (Apollo KT133A) host to PCI bridge> mem 0xe4000000-0xe7ffffff at device 0.0 on pci0
pcib1: <VIA 8363 (Apollo KT133) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <ATI model 5046 graphics accelerator> at 0.0 irq 9
isab0: <VIA 82C686 PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0xb800-0xb80f at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 10 at device 4.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 10 at device 4.3 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
viapropm0: SMBus I/O base at 0xe800
viapropm0: <VIA VT82C686A Power Management Unit> port 0xe800-0xe80f at device 4.4 on pci0
viapropm0: SMBus revision code 0x40
smb0: <SMBus general purpose I/O> on smbus0
pcm0: <VIA VT82C686A> port 0xa000-0xa003,0xa400-0xa403,0xa800-0xa8ff irq 11 at device 4.5 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0x9400-0x941f irq 10 at device 9.0 on pci0
ed0: address 00:02:44:17:3a:fa, type NE2000 (16 bit)
pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 10.0 irq 11
bktr0: <BrookTree 878> mem 0xde000000-0xde000fff irq 10 at device 13.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicsmb0: <I2C to SMB bridge> on iicbus0
smbus1: <System Management Bus> on iicsmb0
smb1: <SMBus general purpose I/O> on smbus1
iic0: <I2C general purpose I/O> on iicbus0
iicbus1: <Philips I2C bus> on iicbb0 master-only
iicsmb1: <I2C to SMB bridge> on iicbus1
smbus2: <System Management Bus> on iicsmb1
smb2: <SMBus general purpose I/O> on smbus2
iic1: <I2C general purpose I/O> on iicbus1
smbus3: <System Management Bus> on bti2c0
smb3: <SMBus general purpose I/O> on smbus3
bktr0: AVer Media TV/FM, Philips PAL tuner.
pci0: <unknown card> (vendor=0x109e, dev=0x0878) at 13.1 irq 10
atapci1: <Promise ATA100 controller> port 0x7800-0x783f,0x8000-0x8003,0x8400-0x8407,0x8800-0x8803,0x9000-0x9007 mem 0xdb800000-0xdb81ffff irq 3 at device 17.0 on pci0
ata2: at 0x9000 on atapci1
ata3: at 0x8400 on atapci1
orm0: <Option ROM> at iomem 0xc0000-0xcbfff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model MouseMan+, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
pca0 at port 0x40 on isa0
ad0: 4112MB <SAMSUNG SV0432A 010> [8912/15/63] at ata0-master UDMA33
ad2: 38166MB <ST340823A> [77545/16/63] at ata1-master UDMA100
ad6: 38166MB <ST340810A> [77545/16/63] at ata3-master UDMA100
acd0: CDROM <CD-52X ATAPI> at ata0-slave UDMA33
acd1: DVD-ROM <TOSHIBA DVD-ROM SD-M1612> at ata1-slave UDMA33
acd2: CD-RW <Hewlett-Packard CD-Writer Plus 8100> at ata2-slave PIO3
Mounting root from ufs:/dev/ad0s2a
--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d- s+:+() a- C+++ UBL+++$ P+ L+++ E--- W++ N+ o++ K- w---
O+ M+ V- PS+ PE+ Y++ PGP+>+++ t+ 5 X+$ R- tv-- b+++ DI D++>+++
G++ e- h+(++) !r !z
------END GEEK CODE BLOCK------
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E3F96A1.8F0B8AF>
