
Recherche avancée
Médias (1)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Sur d’autres sites (267)
-
FFMPEG send RTP audio at 8k bytes/sec [closed]
10 mai, par MuzzaI'm trying to use FFMPEG to mimick a device that transmits G711U audio over UDP/RTP at 8k bytes per second.
The device im mimicking sends rtp packets every 20ms with 160byte payload.


I've had limited success using the following command


ffmpeg -f dshow -i audio="Microphone (Realtek(R) Audio)" -ac 1 -ar 8000 -ab 8 -acodec pcm_mulaw -f rtp rtp://127.0.0.1:12345?pkt_size=160



This sends G711U encoded audio, in 160byte chunks, but streams at 64kB/s, not the 8kB/s that my device is expected, so the device errors out ?


Any idea's would be massively appreciated !


Thank you


Log from FFMPEG


>ffmpeg -f dshow -i audio="Microphone (Realtek(R) Audio)" -ac 1 -ar 8000 -ab 8 -acodec pcm_mulaw -f rtp rtp://127.0.0.1:12345?pkt_size=160
ffmpeg version 2025-04-23-git-25b0a8e295-essentials_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
 built with gcc 14.2.0 (Rev3, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 libavutil 60. 2.100 / 60. 2.100
 libavcodec 62. 0.101 / 62. 0.101
 libavformat 62. 0.100 / 62. 0.100
 libavdevice 62. 0.100 / 62. 0.100
 libavfilter 11. 0.100 / 11. 0.100
 libswscale 9. 0.100 / 9. 0.100
 libswresample 6. 0.100 / 6. 0.100
 libpostproc 59. 1.100 / 59. 1.100
[aist#0:0/pcm_s16le @ 00000198256b73c0] Guessed Channel Layout: stereo
Input #0, dshow, from 'audio=Microphone (Realtek(R) Audio)':
 Duration: N/A, start: 135470.702000, bitrate: 1411 kb/s
 Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s, Start-Time 135470.702s
Stream mapping:
 Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_mulaw (native))
Press [q] to stop, [?] for help
[pcm_mulaw @ 00000198256cf240] Bitrate 8 is extremely low, maybe you mean 8k
Output #0, rtp, to 'rtp://127.0.0.1:12345?pkt_size=160':
 Metadata:
 encoder : Lavf62.0.100
 Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16 (8 bit), 64 kb/s
 Metadata:
 encoder : Lavc62.0.101 pcm_mulaw
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 127.0.0.1
t=0 0
a=tool:libavformat 62.0.100
m=audio 12345 RTP/AVP 0
b=AS:64

[out#0/rtp @ 00000198256cdd00] video:0KiB audio:973KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 8.467470%
size= 1055KiB time=00:02:04.51 bitrate= 69.4kbits/s speed= 1x
Exiting normally, received signal 2.



Wireshark :
Wireshark Log


Shows packets being sent every 0.20ms


-
Could not find com.arthenica:ffmpeg-kit-full:6.0-2 [closed]
6 août, par gabocaleroI started receiving this message when I build my project


> Could not find com.arthenica:ffmpeg-kit-full:6.0-2.
 Searched in the following locations:
 - https://dl.google.com/dl/android/maven2/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 - https://repo.maven.apache.org/maven2/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 - https://jcenter.bintray.com/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 - https://jitpack.io/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 - https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 - https://oss.sonatype.org/content/repositories/snapshots/com/arthenica/ffmpeg-kit-full/6.0-2/ffmpeg-kit-full-6.0-2.pom
 Required by:
 project :presentation > project :domain



These are the project's repositories


allprojects { 
 repositories {
 google()
 mavenCentral()
 jcenter()
 maven { url 'https://jitpack.io' }
 maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
 } 
}



And this is the dependency I'm adding


implementation(libs.arthenica.ffmpeg.full)



This is my libs.version.toml


ffmpeg = "6.0-2"
arthenica-ffmpeg-full = { group = "com.arthenica", name = "ffmpeg-kit-full", version.ref = "ffmpeg" }



AFAICS in the project's github page, it will not be maintained anymore



In the short term, do you know any other repository that still servers this dependency ?


On the other hand, do you know any other project to replace Arthenica ffmpeg-kit-full dependency ?


-
How to quote a file name with a single quote in ffmpeg movie= filter notation ? [closed]
26 mai, par PieterVI am trying to run ffmpeg using a file that contains a single quote
'
in the filename.

I tried to follow the docs that say I should replace a
'
with'\''
.

And a ticket that says I should replace a'
with\\\\\'
.

I've tried both, and can't get get it working.


E.g. docs format :


./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D\:\\Test\\Interlaced - Dragons'\'' Den - S14E02 - Episode 2.mkv'[out0+subcc]" -show_packets -print_format json

{
[Parsed_movie_0 @ 00000222a2f82200] Failed to avformat_open_input 'D:\Test\Interlaced - Dragons Den - S14E02 - Episode 2.mkv'
[AVFilterGraph @ 00000222a2f76ec0] Error processing filtergraph: No such file or directory
movie='D\:\\Test\\Interlaced - Dragons'\'' Den - S14E02 - Episode 2.mkv'[out0+subcc]: No such file or directory



E.g. ticket format :


./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D\:\\Test\\Interlaced - Dragons\\\\\' Den - S14E02 - Episode 2.mkv'[out0+subcc]" -show_packets -print_format json

{
[Parsed_movie_0 @ 00000158613d2080] Failed to avformat_open_input 'D:\Test\Interlaced - Dragons\\ Den - S14E02 - Episode 2.mkv[out0+subcc]'
[AVFilterGraph @ 00000158613c6ec0] Error processing filtergraph: No such file or directory
movie='D\:\\Test\\Interlaced - Dragons\\\\\' Den - S14E02 - Episode 2.mkv'[out0+subcc]: No such file or directory



> dir "D:\Test\Interlaced - Dragons' Den - S14E02 - Episode 2.mkv"

 Directory: D:\Test

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 4/20/2025 11:38 AM 18059051 Interlaced - Dragons' Den - S14E02 - Episode 2.mkv



This is on Win11 using FFmpeg7.

Any ideas ?

[Update]

I found a doc on escape filtergraph strings, did not help, I tried 0 to 7\
.

I also found and tried the
ffescape
utility, the output it produces just uses a single\'
and does not work.

> echo "D:\Test\Interlaced - Dragons' Den - S14E02 - Episode 2.mkv" | ./ffescape.exe
=> D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\

> ./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\'[out0+subcc]" -show_packets -print_format json
{
[Parsed_movie_0 @ 0000021348f12200] Failed to avformat_open_input 'D'
[AVFilterGraph @ 0000021348f06ec0] Error processing filtergraph: No such file or directory
movie='D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\'[out0+subcc]: No such file or directory



[Update]

I found docs for ffmpeg filter script where I can place commands in a file.

I tried
./ffprobe -loglevel error -read_intervals %00:01 -select_streams s:0 -f lavfi -/i "d:\filtergraph.txt" -show_packets -print_format json
, and it load the script.

Works :
movie=test.mkv[out0+subcc]
\ iftest.mkv
is in ffprobe dir.
Works :movie=test\'.mkv[out0+subcc]
\ iftest'.mkv
is in ffprobe dir.

Not :movie=D:\test.mkv[out0+subcc]

Not :movie=D\:\\test.mkv[out0+subcc]

Not :movie=test space.mkv[out0+subcc]

Not :movie='test space.mkv[out0+subcc]'

Not :movie="test space.mkv[out0+subcc]"

Not :'movie=test space.mkv[out0+subcc]'

Not :"movie=test space.mkv[out0+subcc]"


:(