Hi,
I am trying to extract audio metadata like streamurl,streamtitle,artist,genre,album.However I am not able to extract the metadata using GstTagList. Below is the snippet of the code. Does anyone suggest what are the additions to be done in order to extract the metadata? Only the following data has been extracted. layer: 3 mode: joint emphasis: none audio codec: MPEG-1 layer 3 bitrate: 128000 Pipeline is as follows: [code] app->pipeline= gst_parse_launch("appsrc name=mysource ! audio/mpeg ! mad ! alsasink", NULL); [/code] Audio data fed to the appsrc element [code] buf =( GstBuffer *) gst_app_buffer_new (data, READBUF, g_free, data); g_signal_emit_by_name (GST_APP_SRC (app->appsrc), "push-buffer", buf, &ret); [/code] Bus message [code] case GST_MESSAGE_TAG: { GstTagList *tags = NULL; char *artist; gst_message_parse_tag (message, &tags); g_print ("Got tags from element %s:\n", GST_OBJECT_NAME (message->src)); if (gst_tag_list_get_string (tags, GST_TAG_ARTIST, &artist)) { printf("got artist: %s\n",artist); } else { printf("no artist!! \n"); } gst_tag_list_foreach (tags, print_tag, NULL); g_print ("\n"); gst_tag_list_free (tags); break; [/code] print_tag function code [code] static void print_tag (const GstTagList * list, const gchar * tag, gpointer unused) { gint i, count; count = gst_tag_list_get_tag_size (list, tag); for (i = 0; i < count; i++) { gchar *str; if (gst_tag_get_type (tag) == G_TYPE_STRING) { if (!gst_tag_list_get_string_index (list, tag, i, &str)) g_assert_not_reached (); } else { str = g_strdup_value_contents (gst_tag_list_get_value_index (list, tag, i)); } if (i == 0) { g_print (" %15s: %s\n", gst_tag_get_nick (tag), str); } else { g_print (" : %s\n", str); } g_free (str); } } [/code] Thanks and Regards, Sree Gowri _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 04/12/2012 06:23 AM, Sree Gowri wrote:
Hi,"appsrc name=mysource ! audio/mpeg ! mp3parse ! mad ! alsasink" or even better "appsrc name=mysource ! audio/mpeg ! decodebin2 ! alsasink" Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mon, Apr 16, 2012 at 12:53 AM, Stefan Sauer <[hidden email]> wrote:
Hi stephan, First would like to thank you for the input you provided. I tried both the pipelines that you have mentioned,however meta data has not been extracted. Kindly request you to let me know if there are any other changes that needs to be done. Regards, Sree Gowri
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 04/24/2012 11:18 AM, Sree Gowri wrote:
Are you sure the stream you are looking at is tagged with such metadata? Try gst-launch-0.10 -t playbin2 uri=... Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Tue, Apr 24, 2012 at 5:46 PM, Stefan Sauer <[hidden email]> wrote:
Yes the stream contains the metadata like streamTitle, streamUrl. In order to check does the stream really has metadata, appsrc buffer is written to a file and checked using hexedit and I can find the metadata.Sure will try your suggestion tomorrow and update you. Thankyou.
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Tue, Apr 24, 2012 at 9:42 PM, Sree Gowri <[hidden email]> wrote:
Regards, Sree Gowri Hi Stephan, gst-launch-0.10 -t playbin2 uri=.... is also not extracting the metadata. Actually I am streaming the shoutcast stream.Audio stream data is feed to the appsrc element. Following is the header that is received ICY 200 OK^M icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>^M icy-notice2:SHOUTcast Distributed Network Audio Server/win32 v1.9.8<BR>^M icy-name:Radio Afsana Online 24/7 Radio - New - Remix: Non-Stop^M icy-genre:Desi, Hindi , Bollywood, Fiji, Indian^M icy-url:http://www.radioafsana.com^M content-type:audio/mpeg^M icy-pub:1^M icy-metaint:8192^M icy-br:128^M Metadata is available as "StreamTitle='Aditi Singh Sharma - Luv Ka The End - LUV KA THE END." However I am not able to extract the same. Also not able to extract the metadata for the downloaded mp3 file using the following pipelines. However the above command that you mentioned will extract the metadata for the downloaded mp3 file appsrc name=mysource ! audio/mpeg ! mad ! alsasink appsrc name=mysource ! audio/mpeg ! mp3parse ! mad ! alsasink appsrc name=mysource ! audio/mpeg ! decodebin2 ! alsasink Your input would be of great help. Regards, Sree Gowri.
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Wed, Apr 25, 2012 at 12:19 PM, Sree Gowri <[hidden email]> wrote:
I am still stuck with metadata parsing as mentioned earlier. Could you please help me. Thanks and Regards, Sree Gowri _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 04/26/2012 07:53 PM, Sree Gowri wrote:
Just tried te winamp stream from http://www.radioafsana.com and it works fine (use the uri from inside the listen.pls). Stefan gst-launch -t playbin2 uri=http://208.186.112.40:8000/ Setting pipeline to PAUSED ... Pipeline is PREROLLING ... FOUND TAG : found by element "source". organization: Radio Afsana Online 24/7 Radio - New - Remix: Non-Stop genre: Desi, Hindi , Bollywood, Fiji, Indian location: http://www.radioafsana.com FOUND TAG : found by element "icydemux0". organization: Radio Afsana Online 24/7 Radio - New - Remix: Non-Stop genre: Desi, Hindi , Bollywood, Fiji, Indian location: http://www.radioafsana.com FOUND TAG : found by element "mpegaudioparse0". audio codec: MPEG 2 Audio, Layer 3 (MP3) nominal bitrate: 24000 FOUND TAG : found by element "mpegaudioparse0". has crc: FALSE channel mode: mono FOUND TAG : found by element "mad0". audio codec: MPEG-1 Layer 3 (MP3) FOUND TAG : found by element "mpegaudioparse0". minimum bitrate: 24193 bitrate: 24010 maximum bitrate: 24193 FOUND TAG : found by element "mpegaudioparse0". minimum bitrate: 23887 Prerolled, waiting for buffering to finish... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock FOUND TAG : found by element "icydemux0". title: Shahid Mallya - Rabba Main Toh Mar Gaya Oye - MAUSAM [2011]
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, Apr 27, 2012 at 1:13 AM, Stefan Sauer <[hidden email]> wrote:
Hi Stephan, Using http request along with gstreamer is working fine along with the metadata. However I would like to extract the metadata from the buffer that is fed to the appsrc element. Encountered the following error using the pipelines where downloading and feeding data is happening parallely "appsrc name=mysource ! audio/mpeg ! decodebin2 ! alsasink" "appsrc name=mysource ! audio/mpeg ! mp3parse ! mad ! alsasink" #### ERROR from element mpegaudioparse0: Failed to parse stream Debugging info: gstbaseparse.c(2140): gst_base_parse_check_sync (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMpegAudioParse:mpegaudioparse0 ERROR from element mysource: Internal data flow error. Debugging info: gstbasesrc.c(2582): gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:mysource: streaming task paused, reason error (-5) ERROR from element mpegaudioparse0: Failed to parse stream Debugging info: gstbaseparse.c(2140): gst_base_parse_check_sync (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMpegAudioParse:mpegaudioparse0 ERROR from element mpegaudioparse0: No valid frames found before end of stream Debugging info: gstbaseparse.c(1037): gst_base_parse_sink_eventfunc (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20/GstMpegAudioParse:mpegaudioparse0 ERROR from element decodebin20: GStreamer encountered a general stream error. Debugging info: gstdecodebin2.c(3239): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstDecodeBin2:decodebin20: all streams without buffers * About to connect() to scfire-dtc-aa03.stream.aol.com port 80 (#0) * Trying 205.188.234.3... * connected * Connected to scfire-dtc-aa03.stream.aol.com (205.188.234.3) port 80 (#0) > GET /stream/1013 HTTP/1.1 Host: scfire-dtc-aa03.stream.aol.com Accept: */* #### Request your kind inputs on this. Thanks and Reards, Sree Gowri _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, May 4, 2012 at 11:22 AM, Sree Gowri <[hidden email]> wrote:
Hi Stephan, Unfortunately I was not able to work on extracting audio metadata from buffer from last 2 months.I started working on this again. Using curl, audio data is downloaded and using the following pipeline(all three pipelines work), I am able to play the buffer data. However not able to extract the streamtitle metadata. Other metadata has been extracted like layer,mode,bitrate etc.. app->pipeline= gst_parse_launch("appsrc name=mysource ! audio/mpeg ! mad ! alsasink", NULL); app->pipeline= gst_parse_launch("appsrc name=mysource ! audio/mpeg ! decodebin2 ! alsasink", NULL); app->pipeline= gst_parse_launch("appsrc name=mysource ! audio/mpeg ! mp3parse ! mad ! alsasink", NULL); I tried even setting "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" in curl before sending http request but still not able to extract the metadata. I somehow feel some prerequisites needs to be set in the curl before sending http request for downloading buffer. It would be really great to have your suggestions on this. Thanks and Regards, Sree, _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 07/02/2012 03:09 PM, Sree Gowri
wrote:
If you run gst-launch -tv playbin2 uri=http://208.186.112.40:8000/ you will see which elements post the metadata in the above example. Stefan
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |