Here am trying to playback an ac3 stream using gst-launch-1.0 application. But am getting the following error,
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 /GstDecodeBin:decodebin0/GstTypeFindElement:typefind: Could not determine type of stream.
The command used here is,
gst-launch-1.0 playbin uri=file:///usr/bin/*****.ac3
Could you please have someone suggest if am missing any plugin here?
Related
I want to transcode an audio stream from YouTube (webm) to PCM on the fly using a buffer, but ffmpeg can only process the first received buffer due to the lack of metadata in subsequent buffers. Is there any way to make this work? I've thought about attaching metadata to other chunks but couldn't make this work. Maybe there's a better approach?
I have an RTSP Stream with one video stream and three audio streams as the source. Two of the audio streams are encoded with .mp2 and one is encoded with .ac-3. I want to convert the .mp2 streams to AAC. This would be easy if the .mp2streams would have the same stream identifier every time I start ffmpeg, but unfortunately the stream identifiers change. This means sometimes the two .mp2 streams are 0:a:0 and 0:a:1 and the next time they are 0:a:1 and 0:a:2.
Is there an option to re-encode only the .mp2 streams and keep the .ac-3 stream untouched?
I should probably also mention that this encoding is used for live TV so it is not an option to produce intermediate files or have several ffmpeg commands.
Try
ffprobe -show_entries stream_tags -select_streams a INPUT_URL
and see if there are any stream tags (metadata) that distinguishes mp2 streams. Then you can use the metadata stream specifier to selectively set re-encoding:
ffmpeg ... -c copy -c:a:m:{name}:{value} ac3 ...
where {name} and {value} are the name and value of the tag, respectively.
Reference on stream specifier: https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1
If there isn't any usable tag, your only solution likely is to run ffprobe first to identify the stream # before running ffmpeg.
I'm using ffmpeg to extract audio from MPEG Transport Stream file recorded by DVB-S card. The command:
ffmpeg -i video.ts -vn audio.wav
The source file seems to be corrupted. I noticed the corruption happens from time to time, especially for videos longer than 1 hour. I've got errors like these:
[mp2 # 0x1bb5500] Header missing
Error while decoding stream #0:1
[mpegts # 0x17eaf40] Continuity check failed for pid 5261 expected 2 got 6
The problem is that the resulting audio.wav is shorter than the source video (40m33s and 40m59s accordingly). I'm looking for the way to preserve the original length in the resulting audio file.
I tried the recent ffmpeg under Windows and avconv under Ubuntu, output format was MP3 and WAV. For every case I've got the same results.
I didn't find whether it's possible to do it with ffmpeg however I found ProjectX - a tool which tries to fix the broken TS stream. Website: http://project-x.sourceforge.net/
With:
java -jar ProjectX.jar -demux my_video.ts
the stream is demuxed into audio and video files which are guaranteed to have the same length. I simply mux them back using ffmpeg.
I have a Google Hangouts app and I am trying to let the user play a sound that I provide.
Google has this covered, with its Audio Resource, but it only accepts specifically encoded sound files, PCM 16 wav files.
I have been trying to encode my files using ffmpeg, but it does not seem to be working.
Any idea as to what I am doing wrong?
Here is my ffmpeg command line :
ffmpeg -i sound.mp3 -map_metadata -1 -flags bitexact sound.wav
Thanks for your help
I just wrote hangout app that used audio and I noticed I had to use 44.1KHz sample rate on my 16 bit PCM WAV files or it wouldn't work. See if you can add an option to change the sample rate to that.
I have tried to capture audio from live streaming by using audio capture device with MONOGRAM
AAC Encoder downloaded from http://blog.monogram.sk/janos/2007/12/11/free-aac-encoder-filter/,
but it generates audio file with 1kb of size without audio.
Can anyone tell me the reason of this?
Thank You.