Recherche avancée

Médias (1)

Mot : - Tags -/punk

Sur d’autres sites (267)

  • FFMPEG send RTP audio at 8k bytes/sec [closed]

    10 mai, par Muzza

    I'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 gabocalero

    I 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
ffmpeg-kit is archived on April 21, 2025

    


    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 PieterV

    I 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]\ if test.mkv is in ffprobe dir.
Works : movie=test\'.mkv[out0+subcc]\ if test'.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]"

    


     :(

    


    Update with working answer