On 28/12/15 16:39, Robert Jaroszuk wrote:
Hi,I need some help with using avconv/avplay for simple audio streaming over wireless network. I have an Arietta G25 with ARM9@400Mhz CPU with linux and I would like to use this device for streaming audio over wifi network. On this embedded linux I use avconv to encode the audio into mpeg stream and send it over rtp to multicast address: # /usr/bin/avconv -f oss -i /dev/dsp -ar 22050 -ab 64k -ac 1 -filter_complex 'volume=50' -f mpeg rtp://224.0.0.1:1234/ avconv version 11.4-6:11.4-1~deb8u1, Copyright (c) 2000-2014 the Libav developers built on Jun 4 2015 20:16:59 with gcc 4.9.2 (Debian 4.9.2-10) [oss @ 0x11d1e0] Estimating duration from bitrate, this may be inaccurate Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, oss, from '/dev/dsp': Duration: N/A, start: 1167613970.360718, bitrate: N/A Stream #0.0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s Output #0, mpeg, to 'rtp://224.0.0.1:1234/': Metadata: encoder : Lavf56.1.0 Stream #0.0: Audio: mp2, 22050 Hz, mono, s16, 64 kb/s Metadata: encoder : Lavc56.1.0 mp2 Stream mapping: Stream #0:0 (pcm_s16le) -> volume volume -> Stream #0:0 (mp2) Press ctrl-c to stop encoding Non-monotonous DTS in output stream 0:0; previous: 1225224, current: 1224159; changing to 1225225. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 2886678, current: 2886580; changing to 2886679. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 2886820, current: 2886302; changing to 2886821. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 4550980, current: 4550020; changing to 4550981. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 5541698, current: 5540641; changing to 5541699. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 5541699, current: 5541588; changing to 5541700. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6023020, current: 6020335; changing to 6023021. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6023021, current: 6022424; changing to 6023022. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6506967, current: 6506029; changing to 6506968. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6984910, current: 6984229; changing to 6984911. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6984911, current: 6984253; changing to 6984912. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6984912, current: 6983143; changing to 6984913. This may result in incorrect timestamps in the output file. Non-monotonous DTS in output stream 0:0; previous: 6984913, current: 6984543; changing to 6984914. This may result in incorrect timestamps in the output file. size= 656kB time=83.02 bitrate= 64.7kbits/s On the laptop I use avplay to listen: zim@laptop ~ $ avplay -f mpeg -i rtp://224.0.0.1:1234 avplay version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2003-2014 the Libav developers built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) [mpeg @ 0x7efef8005be0] max_analyze_duration reached [mpeg @ 0x7efef8005be0] Estimating duration from bitrate, this may be inaccurate Input #0, mpeg, from 'rtp://224.0.0.1:1234': Duration: N/A, start: 1.000000, bitrate: 64 kb/s Stream #0.0[0x1c0]: Audio: mp2, 22050 Hz, 2 channels, s16p, 64 kb/s [mp2 @ 0x7efef8004b40] Header missingvq= 0KB sq= 0B f=0/0 103.42 A-V: 0.000 s:0.0 aq= 0KB vq= 0KB sq= 0B f=0/0 Unfortunately, after ~10-20 seconds audio queue (aq) comes to zero kB and audio starts to interrupt constantly. I think it's because the embedded system is overloaded, but as far as I can see, the avconv is using 100% cpu and the load is higher than 1.
That is pretty much telling that the system is pegged.
I tried to use ac3 codec, but it didn't help. Also changing the bitrate or audio sampling rate didn't help. avconv still eats almost 100% cpu power, no matter how I use it. Do you have any idea what could be changed?
If you have perf installed you might try to figure out where most of the time is spent, maybe it is just some kind of busy loop that should be sorted out here.
lu _______________________________________________ libav-tools mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-tools
